!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/home/jerryg/public_html/gallery2/lib/smtp/   drwxr-xr-x
Free 318.38 GB of 458.09 GB (69.5%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     smtp.php (5.35 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/***************************************************************************
 *                              smtp.php
 *                       -------------------
 *   begin                : Wed May 09 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   phpBB  Id: smtp.php,v 1.16.2.9 2003/07/18 16:34:01 acydburn
 *      G2 $Id: smtp.php 15342 2006-12-01 21:14:46Z andy_st $
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

function server_parse(&$socket$response) {
    for (
$server_response ''substr($server_response31) != ' ';) {
    if (!(
$server_response fgets($socket256))) {
        return 
GalleryCoreApi::error(ERROR_PLATFORM_FAILURE__FILE____LINE__,
                    
"Couldn't get mail server response code");
    }
    }
    if (!(
substr($server_response03) == $response)) {
    return 
GalleryCoreApi::error(ERROR_PLATFORM_FAILURE__FILE____LINE__,
                    
"Problem sending mail. Server response: $server_response");
    }
    return 
null;
}

function 
smtpmail($config$to$subject$body$headers=null) {
    
// Fix any bare linefeeds in the message to make it RFC821 Compliant.
    
$body preg_replace("#(?<!\r)\n#si""\r\n"$body);

    
$cc $bcc = array();
    if (isset(
$headers)) {
    
$headers rtrim($headers);

    
// Make sure there are no bare linefeeds in the headers
    
$headers preg_replace('#(?<!\r)\n#si'"\r\n"$headers);

    if (
preg_match('#^cc:\s*(.*?)\s*$#mi'$headers$match)) {
        
$cc split(', *'$match[1]);
    }
    if (
preg_match('#^bcc:\s*(.*?)\s*$#mi'$headers$match)) {
        
$bcc split(', *'$match[1]);
        
$headers preg_replace('#^bcc:.*$#mi'''$headers);
    }
    }

    if (
trim($subject) == '') {
    return 
GalleryCoreApi::error(ERROR_PLATFORM_FAILURE__FILE____LINE__,
                    
"No email Subject specified");
    }

    if (
trim($body) == '') {
    return 
GalleryCoreApi::error(ERROR_PLATFORM_FAILURE__FILE____LINE__,
                    
"Email message was blank");
    }

    
// Connect
    
list ($config['smtp.host'], $port) = array_merge(explode(':'$config['smtp.host']), array(25));
    if (!(
$socket fsockopen($config['smtp.host'], $port$errno$errstr20))) {
    return 
GalleryCoreApi::error(ERROR_PLATFORM_FAILURE__FILE____LINE__,
                    
"Could not connect to smtp host : $errno : $errstr");
    }

    
// Wait for reply
    
$ret server_parse($socket"220");
    if (
$ret) {
    return 
$ret;
    }

    
// Do we want to use AUTH?, send RFC2554 EHLO, else send RFC821 HELO
    
if (!empty($config['smtp.username']) && !empty($config['smtp.password'])) {
    
fputs($socket"EHLO " $config['smtp.host'] . "\r\n");
    
$ret server_parse($socket"250");
    if (
$ret) {
        return 
$ret;
    }

    
fputs($socket"AUTH LOGIN\r\n");
    
$ret server_parse($socket"334");
    if (
$ret) {
        return 
$ret;
    }

    
fputs($socketbase64_encode($config['smtp.username']) . "\r\n");
    
$ret server_parse($socket"334");
    if (
$ret) {
        return 
$ret;
    }

    
fputs($socket$config['smtp.password'] . "\r\n"); // Already encoded
    
$ret server_parse($socket"235");
    if (
$ret) {
        return 
$ret;
    }
    } else {
    
fputs($socket"HELO " $config['smtp.host'] . "\r\n");
    
$ret server_parse($socket"250");
    if (
$ret) {
        return 
$ret;
    }
    }

    
// From this point onward most server response codes should be 250
    // Specify who the mail is from....
    
fputs($socket"MAIL FROM: <" $config['smtp.from'] . ">\r\n");
    
$ret server_parse($socket"250");
    if (
$ret) {
    return 
$ret;
    }

    
// Add an additional bit of error checking to the To field.
    
$to = (trim($to) == '') ? 'Undisclosed-recipients:;' trim($to);
    if (
preg_match('#[^ ]+\@[^ ]+#'$to)) {
    
fputs($socket"RCPT TO: <$to>\r\n");
    
$ret server_parse($socket"250");
    if (
$ret) {
        return 
$ret;
    }
    }

    
// Ok now do the CC and BCC fields...
    
foreach (array_merge($cc$bcc) as $address) {
    
$address trim($address);
    if (
preg_match('#[^ ]+\@[^ ]+#'$address)) {
        
fputs($socket"RCPT TO: <$address>\r\n");
        
$ret server_parse($socket"250");
        if (
$ret) {
        return 
$ret;
        }
    }
    }

    
// Ok now we tell the server we are ready to start sending data
    
fputs($socket"DATA\r\n");

    
// This is the last response code we look for until the end of the message.
    
$ret server_parse($socket"354");
    if (
$ret) {
    return 
$ret;
    }

    
// Send the Subject Line...
    
fputs($socket"Subject: $subject\r\n");

    
// Now the To Header.
    
fputs($socket"To: $to\r\n");

    
// Now any custom headers....
    
if (isset($headers)) {
    
fputs($socket"$headers\r\n");
    }

    
// Ok now we are ready for the message...
    
fputs($socket"\r\n$body\r\n");

    
// Ok the all the ingredients are mixed in let's cook this puppy...
    
fputs($socket".\r\n");
    
$ret server_parse($socket"250");
    if (
$ret) {
    return 
$ret;
    }

    
// Now tell the server we are done and close the socket...
    
fputs($socket"QUIT\r\n");
    
fclose($socket);

    return 
null;
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0147 ]--