ShellBanner
System:Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686
Software:Apache. PHP/5.3.6-13ubuntu3.10
ID:uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
Safe Mode:OFF
Open_Basedir:OFF
Freespace:21.02 GB of 70.42 GB (29.85%)
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

/ usr/ src/ courier-0.66.1/ courier/ webadmin/ - drwxrwxrwx

Directory:
Viewing file:     admin-50bofh.pl (6.43 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#! perl
#
# TITLE: BOFH mail filters
#
#
# Copyright 2001 Double Precision, Inc.  See COPYING for
# distribution information.


use webadmin;

my $badfrom1=$cgi->param("badfrom1");
my $errmsg="";

$badfrom1="\@" . $cgi->param("badfrom2") if $cgi->param("badfrom2") =~ /./;
$badfrom1="\@." . $cgi->param("badfrom3") if $cgi->param("badfrom3") =~ /./;

my $remove=$cgi->param("remove");

if (defined $remove)
{
    my @l =
        grep( $_ ne $remove, ReadMultiLineConfigFile("bofh"));

    SaveMultiLineConfigFile("bofh", \@l);
    changed("");
}

if ($badfrom1 =~ /./)
{
    $badfrom1 =~ s/(@.*)/lc($1)/e;

    if ($badfrom1 =~ /[\n\s\"\']/)
    {
    $errmsg="\@BADCHARS\@";
    }
    else
    {
    my @new_badfrom1=
        grep( !($_ =~ /^\s*badfrom\s+(.*)$/ && $1 eq $badfrom1),
          ReadMultiLineConfigFile("bofh"));
    push @new_badfrom1, "badfrom $badfrom1";

    SaveMultiLineConfigFile("bofh", \@new_badfrom1);

    changed("");
    }
}

my $spamtrap=$cgi->param("spamtrap");

if ($spamtrap =~ /./)
{
    $spamtrap =~ s/(@.*)/lc($1)/e;

    if ($spamtrap =~ /[\n\s\"\']/)
    {
    $errmsg="\@BADCHARS\@";
    }
    else
    {
    my @new_spamtrap=
        grep( !($_ =~ /^\s*spamtrap\s+(.*)$/ && $1 eq $spamtrap),
          ReadMultiLineConfigFile("bofh"));
    push @new_spamtrap, "spamtrap $spamtrap";

    SaveMultiLineConfigFile("bofh", \@new_spamtrap);

    changed("");
    }
}

my $maxrcpts=$cgi->param("MAXRCPTS");
my $maxrcptshard=$cgi->param("MAXRCPTSHARD");

if ($cgi->param("addmaxrcpts"))
  {
    $maxrcpts += 0;

    my @new_maxrcpt=
      grep( !($_ =~ /^\s*maxrcpts\s+/),
        ReadMultiLineConfigFile("bofh"));

    push @new_maxrcpt, ("maxrcpts $maxrcpts" .
            ($maxrcptshard ? " hard":""))
      if $maxrcpts;

    SaveMultiLineConfigFile("bofh", \@new_maxrcpt);

    changed("");
  }

my $freemail=$cgi->param("freemail");

if ($freemail =~ /./)
{
    $freemail =~ s/\s//g;
    $freemail=lc($freemail);

    my $freemail2=lc($cgi->param("freemail2"));

    if (!($freemail =~ /^[a-z0-9\-\.]+$/) ||
       ($freemail2 =~ /./ && !($freemail2 =~ /^[a-z0-9\-\.\s]+$/)))
    {
    $errmsg="\@BADCHARS\@";
    }
    else
    {
    my @new_freemail=
        grep( !($_ =~ /^\s*freemail\s+(.*)$/ && $1 eq $freemail),
          ReadMultiLineConfigFile("bofh"));

    $freemail="$freemail $freemail2";

    $freemail=join(" ", grep(/./, split(/\s+/, $freemail)));

    push @new_freemail, "freemail $freemail";

    SaveMultiLineConfigFile("bofh", \@new_freemail);

    changed("");
    }
}

my $badmx=$cgi->param("badmx");

if ($badmx =~ /./)
{
    $badmx =~ s/\s//g;

    if ( ! ($badmx =~
        /^([1-9][0-9]*)\.([1-9][0-9]*)\.([1-9][0-9]*)\.([1-9][0-9]*)$/)
     || $1 > 255 || $2 > 255 || $3 > 255 || $4 > 255)
    {
    $errmsg="\@BADIP\@";
    }
    else
    {
    my @new_badmx=
        grep( !($_ =~ /^\s*badmx\s+(.*)$/ && $1 eq $badmx),
          ReadMultiLineConfigFile("bofh"));
    push @new_badmx, "badmx $badmx";

    SaveMultiLineConfigFile("bofh", \@new_badmx);

    changed("");
    }
}

if ($cgi->param("addbofhbadmime"))
  {
    my $bofhbadmime=$cgi->param("bofhbadmime");

    my @new_bofhbadmime=
      grep( !($_ =~ /^\s*opt\s+BOFHBADMIME=/),
        ReadMultiLineConfigFile("bofh"));

    unshift @new_bofhbadmime, "opt BOFHBADMIME=$bofhbadmime"
      if $bofhbadmime eq "accept" || $bofhbadmime eq "reject";

    SaveMultiLineConfigFile("bofh", \@new_bofhbadmime);
    changed("");
  }

my $badfromhtml="<table border=\"0\" cellpadding=\"8\">";
my $badmxhtml="<table border=\"0\" cellpadding=\"8\">";
my $freemailhtml="<table border=\"0\" cellpadding=\"8\">";
my $spamtraphtml="<table border=\"0\" cellpadding=\"8\">";

my $maxrcptshtml="";
my $maxrcptshardhtml="";

my $bofhbadmimewrap="checked=\"checked\"";
my $bofhbadmimeaccept="";
my $bofhbadmimereject="";

my @a=ReadMultiLineConfigFile("bofh");

foreach (sort {
    my $c=$a;
    my $d=$b;
    $c =~ s/\s//g;
    $d =~ s/\s//g;
    return $c cmp $d; } @a)
{
    chomp;
    my $arg=$_;

    my $temp_cgi=new CGI ( { "remove" => $arg});

    if ($arg =~ /^\s*badfrom\s+(.*)/)
    {
    $domain=$1;

    $badfromhtml .= "<tr><td>" .
        ($domain =~ /^\@\.(.*)/
         ? ("<tt>@</tt>\@ANYTHING\@<tt>." . htmlescape($1))
         : "<tt>" . htmlescape($domain))
        . "</tt></td><td>- <a href=\"50bofh?"
        . $temp_cgi->query_string() . "\">\@DELETE\@</a></td></tr>\n";
    }

    $badmxhtml .= "<tr><td><tt>" . htmlescape($1)
    . "</tt></td><td>- <a href=\"50bofh?"
        . $temp_cgi->query_string() . "\">\@DELETE\@</a></td></tr>\n"
        if $arg =~ /^\s*badmx\s+(.*)/;

    $spamtraphtml .= "<tr><td><tt>" . htmlescape($1)
    . "</tt></td><td>- <a href=\"50bofh?"
        . $temp_cgi->query_string() . "\">\@DELETE\@</a></td></tr>\n"
        if $arg =~ /^\s*spamtrap\s+(.*)/;

    if ($arg =~ /^\s*freemail\s+(.*)/)
      {
    my $freemail=$1;
    my @f=grep(/./, split(/\s+/, $freemail));

    $freemail=shift @f;

    $freemailhtml .= "<tr><td><tt>" . htmlescape($freemail)
      . ($#f >= 0 ? "&nbsp;&nbsp;" .
         htmlescape("(" . join(" ", @f) . ")"):"")
        . "</tt></td><td>- <a href=\"50bofh?"
          . $temp_cgi->query_string() . "\">\@DELETE\@</a></td></tr>\n";
      }

    if ($arg =~ /^\s*maxrcpts\s+(.*)/)
      {
    my @n=split(/\s+/, $1);

    $maxrcptshtml=shift @n;

    $maxrcptshardhtml="checked=\"checked\"" if lc(shift @n) eq "hard";
      }

    if ($arg =~ /^\s*opt\s+BOFHBADMIME=(.*)/)
      {
    my $val=$1;

    $bofhbadmimewrap="";
    $bofhbadmimeaccept="";
    $bofhbadmimereject="";

    if ($val eq "accept")
      {
        $bofhbadmimeaccept="checked=\"checked\"";
      }
    elsif ($val eq "reject")
      {
        $bofhbadmimereject="checked=\"checked\"";
      }
    else
      {
        $bofhbadmimewrap="checked=\"checked\"";
      }
      }
}

$badfromhtml .= "</table>\n";
$badmxhtml .= "</table>\n";
$freemailhtml .= "</table>\n";
$spamtraphtml .= "</table>\n";

$maxrcptshardhtml="<input type=\"checkbox\" name=\"MAXRCPTSHARD\" $maxrcptshardhtml />";

my $me=ReadOneLineConfigFile("me");

$me=`hostname 2>/dev/null` unless $me =~ /./;

chomp $me;
$me=lc($me);

display_form("admin-50bofh.html",
         {
          "ERRMSG" => $errmsg,
          "BADFROM" => $badfromhtml,
          "BADMX" => $badmxhtml,
          "FREEMAIL" => $freemailhtml,
          "SPAMTRAP" => $spamtraphtml,

          "BOFHBADMIMEWRAP" => "<input type=\"radio\" name=\"bofhbadmime\" value=\"wrap\" $bofhbadmimewrap />",

          "BOFHBADMIMEACCEPT" => "<input type=\"radio\" name=\"bofhbadmime\" value=\"accept\" $bofhbadmimeaccept />",

          "BOFHBADMIMEREJECT" => "<input type=\"radio\" name=\"bofhbadmime\" value=\"reject\" $bofhbadmimereject />",

          "MAXRCPTS" => $maxrcptshtml,
          "MAXRCPTSHARD" => $maxrcptshardhtml,
          "ME" => htmlescape("\@$me")
         }
        );
Command:
Quick Commands:
Upload:
[OK] Max size: 100MB
PHP Filesystem: <@ Ú
Search File:
regexp
Create File:
Overwrite [OK]
View File:
Mass Defacement:
[+] Main Directory: [+] Defacement Url:
LmfaoX Shell - Private Build [BETA] - v0.1 -; Generated: 0.2643 seconds