!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/usr/share/webmin/virtual-server/   drwxrwxr-x
Free 28.64 GB of 117.98 GB (24.28%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     autoconfig.cgi (2.28 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
# This script gets copied to each domain's CGI directory to output the
# correct SMTP and IMAP server details.

# For internal version checking
$AUTOCONFIG_VERSION = 1.0;

# These variables get replaced when the script is copied
$OWNER = '';        # Bob's website
$USER = '';        # bob
$SMTP_HOST = '';    # mail.bob.com
$SMTP_PORT = '';    # 25
$SMTP_TYPE = '';    # plain or SSL
$SMTP_SSL = '';        # yes or no
$SMTP_SSL2 = '';    # on or off
$SMTP_ENC = '';        # password-cleartext
$IMAP_HOST = '';    # mail.bob.com
$IMAP_PORT = '';    # 143
$IMAP_TYPE = '';    # plain or SSL
$IMAP_SSL = '';        # yes or no
$IMAP_ENC = '';        # password-cleartext or password-encrypted
$PREFIX = '';        # bob
$STYLE = '';        # 1

sub error_exit
{
print "Content-type: text/plain\n\n";
print @_,"\n";
exit(0);
}

# Get email address parameter
if ($ENV{'QUERY_STRING'} =~ /emailaddress=([^&]+)/) {
    # Thunderbird style
    $email = $1;
    $email =~ s/%(..)/pack("c",hex($1))/ge;
    ($mailbox, $SMTP_DOMAIN) = split(/\@/, $email);
    $mailbox && $SMTP_DOMAIN ||
        &error_exit("emailaddress parameter is not in user@domain format");
    }
elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {
    # Outlook style
    read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
    $buf =~ /<EMailAddress>([^@<>]+)@([^<>]+)<\/EMailAddress>/i ||
        &error_exit("EMailAddress missing from input XML");
    ($mailbox, $SMTP_DOMAIN) = ($1, $2);
    $email = $1."\@".$2;
    }
else {
    &error_exit("Missing emailaddress parameter");
    }

# Work out the full username
if ($mailbox eq $USER) {
    # Domain owner, so no need for prefix
    $SMTP_LOGIN = $USER;
    }
elsif ($STYLE == 0) {
    $SMTP_LOGIN = $mailbox.".".$PREFIX;
    }
elsif ($STYLE == 1) {
    $SMTP_LOGIN = $mailbox."-".$PREFIX;
    }
elsif ($STYLE == 2) {
    $SMTP_LOGIN = $PREFIX.".".$mailbox;
    }
elsif ($STYLE == 3) {
    $SMTP_LOGIN = $PREFIX."-".$mailbox;
    }
elsif ($STYLE == 4) {
    $SMTP_LOGIN = $mailbox."_".$PREFIX;
    }
elsif ($STYLE == 5) {
    $SMTP_LOGIN = $PREFIX."_".$mailbox;
    }
elsif ($STYLE == 6) {
    $SMTP_LOGIN = $email;
    }
elsif ($STYLE == 7) {
    $SMTP_LOGIN = $mailbox."\%".$PREFIX;
    }
else {
    &error_exit("Unknown style $STYLE");
    }
$MAILBOX = $mailbox;

# Output the XML
print "Content-type: text/xml\n\n";
if ($ENV{'SCRIPT_NAME'} =~ /autodiscover.xml/i) {
    # Outlook
    print <<EOF;
_OUTLOOK_XML_GOES_HERE_
EOF
    }
else {
    # Thunderbird
    print <<EOF;
_THUNDERBIRD_XML_GOES_HERE_
EOF
    }


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0047 ]--