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

Software: Apache/2.0.54 (Fedora). PHP/5.0.4 

uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 

uid=48(apache) gid=48(apache) groups=48(apache)
context=system_u:system_r:httpd_sys_script_t
 

Safe-mode: OFF (not secure)

/home/mnnews/public_html/dwmail/   drwxr-xr-x
Free 997.4 MB of 27.03 GB (3.6%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     dologin.php (17.26 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
############################################################################
# DWmail
#      - version 4.0
#      - Copyright (c) 2003-2006 Dominion Web Design
#      - http://www.dominion-web.com/products/dwmail/
############################################################################
#
# The contents of this file are subject to the DWmail License version
# 2.2 ('License'). You may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.dominion-web.com/products/dwmail/license.php

# Software distributed under the License is distributed on an "AS IS" basis,
# without warranty of any kind, either express or implied.
#
# This code is Copyright (c) 2003-2006 Dominion Web Design.
# All rights reserved.
#
# This software may not be redistributed outside the terms of the
# license agreement.
#
############################################################################
*/
require ("./includes/init.inc.php");
require (
"./includes/global.inc.php");
require (
"./includes/imap.inc.php");
require (
"./includes/functions.inc.php");
require (
"./includes/config.inc.php");

if (isset(
$_POST['l'])) {
    
$DefaultLang = $_POST['l'];
    
$DefaultCharSet = $AvailLangs[$_POST['l']]['charset'];
}

$MainSettings = new GlobalInit();
$TransIDEnabled = $MainSettings->INIGet('session.use_trans_sid');

session_cache_limiter($DefaultSessionCache);
session_start();

if (isset(
$_POST['l'])) {
    
$_SESSION['DefaultLang'] = $_POST['l'];
    
$_SESSION['DefaultCharSet'] = $AvailLangs[$_POST['l']]['charset'];
}
else {
    
$_SESSION['DefaultLang'] = $DefaultLang;
    
$_SESSION['DefaultCharSet'] = $AvailLangs[$DefaultLang]['charset'];
}

if (isset(
$_POST['tpl'])) {
    
$_SESSION['tpl'] = stripslashes(strip_tags($_POST['tpl']));
}
else {
    
$_SESSION['tpl'] = $DefaultTemplate;
}

if (!
$_SESSION['DefaultLang']) {
    
$_SESSION['DefaultLang'] = $DefaultLang;
}
if (!
$_SESSION['tpl']) {
    
$_SESSION['tpl'] = $DefaultTemplate;
}

$_SESSION['fs'] = 0;
if (
is_array($SelectTemplates)) {
    while(list(
$key, $value) = each($SelectTemplates)) {
        if (
$value[1] == $_SESSION['tpl']) {
            
$_SESSION['fs'] = $value[2];
        }
    }
}

$redir = '';
if (
$_REQUEST['redir'] <> '') {
    
$redir = strip_tags(stripslashes(trim(urldecode($_REQUEST['redir']))));
}

require (
"./lang/" . strip_tags(str_replace("..", "", trim($_SESSION['DefaultLang']))) . "/global.inc.php");
require (
"./lang/" . strip_tags(str_replace("..", "", trim($_SESSION['DefaultLang']))) . "/login.inc.php");
@
setlocale(LC_TIME, $AvailLangs[$_SESSION['DefaultLang']]['locale']);

// Setup login and session variables
$u = stripslashes($_POST['u']);
$p = stripslashes($_POST['p']);

if (isset(
$_POST['d'])) {
    
$u = $u . '@' . strip_tags(stripslashes($_POST['d']));
}

$DefaultTemplate = $_SESSION['tpl'];

if (
$DWmailMode <> 1) {
    
$e = $_POST['e'];
    
$mailserver2 = strip_tags($_POST['s']);
    
$servertype2 = strip_tags($_POST['t']);
    
$portnumber2 = strip_tags($_POST['port']);
    
$advancedlogin = strip_tags($_POST['a']);
    
$loginname_array = imap_rfc822_parse_adrlist($u, $DefaultDomain);
    if (
$FullLogin == 0 || $_POST['a'] == 1) {
        if (!isset(
$e)) {
            
// Split username from host by using a built in PHP function
            
$u = $loginname_array[0]->mailbox;
            
$domain = $loginname_array[0]->host;
        }
        else {
            
$u = $_POST['u'];
            
$e = $_POST['e'];

            
// Split username from host by using a built in PHP function
            
$loginname_array2 = imap_rfc822_parse_adrlist($e, $DefaultDomain);
            
$e = $loginname_array2[0]->mailbox;
            
$domain = $loginname_array2[0]->host;
        }
    }
    else {
        
$u = $loginname_array[0]->mailbox . "@" . $loginname_array[0]->host;
        
$e = $loginname_array[0]->mailbox;
    }
    if (!isset(
$domain)) {
        
$domain = $loginname_array[0]->host;
    }
}
else {
    
$e = $_POST['e'];
    
$servertype2 = strip_tags($_POST['t']);
    
$portnumber2 = strip_tags($_POST['port']);
    
// Split username from host by using a built in PHP function
    
$loginname_array = imap_rfc822_parse_adrlist($u, $DefaultDomain);
    if (
$FullLogin == 0 || strip_tags($_POST['a']) == 1) {
        if (isset(
$e)) {
            
$loginname_array2 = imap_rfc822_parse_adrlist($e, $DefaultDomain);
            
$e = $loginname_array2[0]->mailbox;
            
$domain = $loginname_array2[0]->host;
        }
        
$u = $loginname_array[0]->mailbox;
    }
    else {
        
$u = $loginname_array[0]->mailbox . "@" . $loginname_array[0]->host;
        
$e = $loginname_array[0]->mailbox;
    }
    if (!isset(
$domain)) {
        
$domain = $loginname_array[0]->host;
    }
}

$SSLSet = 0;
if (
$_POST['s']) {
    
$mailserver2 = strip_tags($_POST['s']);
}
else {
    
// If no mail server has been sent via post we'll set a default
    // Note: if DWmailMode is set to local we'll reset this later on

    // First see if we're running a windows installation of PHP
    // as the checkdnsrr() function isn't supported
    
$IsWindows = $MainSettings->IsWindows();
    if (
$IsWindows == true) {
        
$mailserver2 = "mail." . $domain;
    }
    else {
        
// Now check for certain subdomains to see if they exist.
        // If we come across one that exists we'll use it as the
        // default server

        // In each iteration of the loop also check that $mailserver2 isn't currently set
        
$checkservers = array("mail." . $domain,
            
"pop3." . $domain,
            
"imap." . $domain,
            
"imap4." . $domain,
            
"pop." . $domain);
        for (
$i=0; $i<count($checkservers); $i++) {
            if (
checkdnsrr($checkservers[$i], "A") && !$mailserver2) {
                
$mailserver2 = $checkservers[$i];
                break;
            }
            elseif (
checkdnsrr($checkservers[$i], "CNAME") && !$mailserver2) {
                
$mailserver2 = $checkservers[$i];
                break;
            }
        }

        
// If we get here we haven't found a domain to check so it'll most likely fail
        // but we have to pass DWmail something to try to connect to so we'll use just
        // the domain
        
if (!$mailserver2) {
            
$mailserver2 = $domain;
        }
    }
}

// If we have advanced login, remote mode and spoof protection enabled
// Check that the domain of the email address is contained in the mail
// Server details
if (($advancedlogin == 1) && ($DWmailMode <> 1) && ($SpoofProtection == 1)) {
    if (!
strstr($mailserver2, $domain)) {
        
$spooffailure = 1;
    }
    else {
        
$spooffailure = 0;
    }
}


if (
$_POST['t'] == "") {
    
$servertype2 = $DefaultType;
}
if (
$_POST['port'] == "") {
    if (
$servertype2 == "imap") {
        
$portnumber2 = $DefaultIMAPPort;
    }
    elseif (
$servertype2 == "imapssl") {
        if (
$AllowSSLConnections == 1) {
            
$portnumber2 = $DefaultIMAPSSLPort;
            
$SSLSet = 1;
        }
        else {
            
$portnumber2 = $DefaultIMAPPort;
        }
    }
    elseif (
$servertype2 == "pop3ssl") {
        if (
$AllowSSLConnections == 1) {
            
$portnumber2 = $DefaultPOP3SSLPort;
            
$SSLSet = 1;
        }
        else {
            
$portnumber2 = $DefaultPOP3Port;
        }

    }
    else {
        
$portnumber2 = $DefaultPOP3Port;
    }
}

// Checks that the domain is in the allowed array for DWmailMode set to domain mode
// This must be called before we set the initial session so it's only
// executed on FIRST login
if (!isset($_SESSION['sess_domain']) && $DWmailMode == 2) {
    
$domainfailure = 1;
    if (
is_array($AllowedDomains)) {
        for(
$i=0; $i<sizeof($AllowedDomains); $i++) {
            
// Convert both to upper case so we we can try to get a match
            
if (strtoupper($AllowedDomains[$i]) == strtoupper($domain)) {
                
$domainfailure = 0;
                break;
            }
        }
    }
    else {
        
$domainfailure = 2;
    }
}

if ((!isset(
$_SESSION['sess_u'])) && (!isset($_SESSION['sess_p'])) && (!isset($_SESSION['sess_domain'])) && (!isset($_SESSION['servertype'])) && (!isset($_SESSION['serverport'])) && (!isset($_SESSION['folder']))) {
    
$_SESSION['sess_u'] = $u;
    
$_SESSION['sess_p'] = $p;
    
$_SESSION['sess_domain'] = $domain;
    
$_SESSION['servertype'] = $servertype2;
    
$_SESSION['portnumber'] = $portnumber2;
    
$_SESSION['folder'] = 'INBOX';
    
$_SESSION['remoteip'] = $_SERVER['REMOTE_ADDR'];
    
$_SESSION['ssl'] = $SSLSet;
    
$_SESSION['compatibilitymode'] = $CompatibilityMode;
    if (isset(
$e)) {
        
$_SESSION['sess_e'] = $e;
    }
}
if (!isset(
$_SESSION['mailserver'])) {
    if (
$DWmailMode == 1) {
        
$_SESSION['mailserver'] = $DefaultServer;
    }
    else {
        
$_SESSION['mailserver'] = $mailserver2;
    }
}

// Setup templates
$DefaultTemplate = strip_tags(trim($DefaultTemplate));

$getFile = new fileProperties($DefaultTemplate);
$PageHeader = $getFile->fileRead('login-header');
$PageFooter = $getFile->fileRead('login-footer');
$PageCopyright = $getFile->fileRead('copyright');
$PageMenu = $getFile->fileRead('menu');

$PageMenu = str_replace("[session]", $MainSettings->SessAppend_noecho($TransIDEnabled, 1), $PageMenu);
$PageMenu = str_replace("[session_append]", $MainSettings->SessAppend_noecho($TransIDEnabled, 0), $PageMenu);

if (isset(
$_SESSION['sess_e'])) {
    if (
strstr($_SESSION['sess_e'], "@")) {
        
$currentemailaddress = $_SESSION['sess_e'];
    }
    else {
        
$currentemailaddress = $_SESSION['sess_e'] . "@" . $_SESSION['sess_domain'];
    }
}
else {
    
$currentemailaddress = $_SESSION['sess_u'] . "@" . $_SESSION['sess_domain'];
}

$_SESSION['currentemailaddress'] = $currentemailaddress;

if (
$UseDatabase == 1) {
    
$hash = strip_tags(stripslashes($_GET['key']));
    
$userid = strip_tags(stripslashes($_GET['userid']));
    if (
$hash <> '' && $userid <> '') {
        switch (
$DatabaseType) {
        case
'mysqli':
            
$DBLib = 'mysqli';
            break;
        case
'postgresql':
            
$DBLib = 'postgresql';
            break;
        default:
            
$DBLib = 'mysql';
            break;
        }
        require_once (
"./includes/db_" . $DBLib . ".inc.php");
        
$MySQLConnection = new DB_Connection($MySQLServer, $MySQLUsername, $MySQLPassword, $MySQLDBName);
        
$MySQLMakeConnection = $MySQLConnection->DB_MakeConnection();
        
$MySQLConnection->_DBUserID = $userid;
        
$rsshash = $MySQLConnection->DB_GetHash($hash, $MySQLConnection->_DBUserID);
        if (
$rsshash == FALSE) {
            exit;
        }
        
$GetRSS = trim($MySQLConnection->DB_GetPrefs('rss'));
        
$GetRSS = $MainSettings->CheckSlashes($GetRSS);
        
$UserDetails = unserialize($GetRSS);

        if (
$UserDetails['enabled'] <> 1) {
            exit;
        }

        if (
$UserDetails['bypasslogin'] == 1) {
            
$_SESSION['sess_u'] = $UserDetails['sess_u'];
            
$_SESSION['sess_p'] = $UserDetails['sess_p'];
            
$_SESSION['mailserver'] = $UserDetails['mailserver'];
            
$_SESSION['sess_domain'] = $UserDetails['sess_domain'];
            
$_SESSION['servertype'] = $UserDetails['servertype'];
            
$_SESSION['portnumber'] = $UserDetails['portnumber'];
            
$_SESSION['ssl'] = $UserDetails['ssl'];
            
$_SESSION['sess_e'] = $UserDetails['sess_e'];
            
$_SESSION['currentemailaddress'] = $UserDetails['currentemailaddress'];
            
$_SESSION['compatibilitymode'] = $CompatibilityMode;
        }
    }
}

// options must be called after currentemailaddress in mailbox.php for the
// database login to work
require ("./includes/options.inc.php");

$checkblocked = $MySQLConnection->DB_CheckBlocked($mailserver2);
if (
$checkblocked >= 1) {
    echo
$mailserver2 . " " . $lang['SLogin']['Block'];
    
session_unset();
    
session_destroy();
    exit;
}

if (
$VerifyImage == 2) {
    require (
"./includes/image.inc.php");
    
$gdimg = new GDImage();
    
$gdimg->imgSupport();
    
$gdimg->ftSupport();
    if (
$gdimg->_imgsupport == true && $gdimg->_ftsupport == true) {
        require (
"./includes/3rdparty/captcha/php-captcha.inc.php");
        if (
PhpCaptcha::Validate(strip_tags(stripslashes($_POST['vi'])))) {
            
$verifyfail = 0;
        }
        else {
            
$verifyfail = 1;
        }
    }
    else {
        
$VerifyImage = 1;
    }
}
if (
$VerifyImage == 1) {
    require (
"./includes/image.inc.php");
    
$gdimg = new GDImage();
    
$gdimg->imgSupport();
    if (
$gdimg->_imgsupport == true) {
        if (
strip_tags(stripslashes(strtolower($_POST['vi']))) <> $_SESSION['verify']) {
            
$verifyfail = 1;
        }
        else {
            
$verifyfail = 0;
            unset (
$_SESSION['verify']);
        }
    }
    else {
        
$VerifyImage = 0;
    }
}

if (
$_POST['u'] && $InterstitialLogin == 1) {
    
$initiallogin = 1;
}
else {
    
$initiallogin = 0;
}

$PageMenu = str_replace("[emailaddress]", $_SESSION['currentemailaddress'], $PageMenu);

if (
$_SESSION['fs'] == 1) {
    
$FinalDest = 'frameset.php';
}
else {
    
$FinalDest = 'mailbox.php';
}

if (
$initiallogin == 1 && $_SESSION['sess_u']) {
    
$headerrefresh = "<meta http-equiv=\"refresh\" content=\"1;URL=" . $FinalDest . "?f=" . $_SESSION['folder'] . "&il=1&" . strip_tags(SID) . "\" />";
    
$PageMenu = $getFile->fileRead('blankmenu');
}
else {
    
$headerrefresh = "";
}

$CodeSearch = array (
    
"[mainmenu]",
    
"[copyright]",
    
"[charset]",
    
"[lang]",
    
"[langdir]"
);

$CodeReplace = array (
    
$PageMenu,
    
$PageCopyright,
    
$_SESSION['DefaultCharSet'],
    
$_SESSION['DefaultLang'],
    
$AvailLangs[$_SESSION['DefaultLang']]['dir']
);


$PageHeader = str_replace ($CodeSearch, $CodeReplace, $PageHeader);
$PageFooter = str_replace ($CodeSearch, $CodeReplace, $PageFooter);

$PageHeader = LangReplace('Generic', $PageHeader, $lang);
$PageHeader = LangReplace('SFolderPane', $PageHeader, $lang);
$PageFooter = LangReplace('Generic', $PageFooter, $lang);
$PageFooter = LangReplace('SFolderPane', $PageFooter, $lang);

$genericerror = $getFile->fileRead('generic_message');
$genericerror = str_replace ('[pagetitle]', $lang['SErrors']['Title'], $genericerror);

$error_session = str_replace ('[pagemessage]', $lang['SLogin']['Session'], $genericerror);
CheckValidSession($_SESSION, $PageFooter, $error_session, $PageHeader);

if (
$advancedlogin == 1 && $_POST['e'] == "") {
    
session_unset();
    
session_destroy();
    
$PageHeader = str_replace ("[folders]", "", $PageHeader);
    
$PageHeader = str_replace ("[header_refresh]", "", $PageHeader);
    
$PageHeader = str_replace ("[pagetitle]", "", $PageHeader);
    
$error_noemail = str_replace ('[pagemessage]', $lang['SLogin']['Session'], $genericerror);
    
header ("Content-Type: text/html; charset=" . $_SESSION['DefaultCharSet']);
    echo
$PageHeader;
    echo
$error_noemail;
    echo
$PageFooter;
    exit;
}

if (
$spooffailure == 1) {
    
session_unset();
    
session_destroy();
    
$PageHeader = str_replace ("[folders]", "", $PageHeader);
    
$PageHeader = str_replace ("[header_refresh]", "", $PageHeader);
    
$PageHeader = str_replace ("[pagetitle]", "", $PageHeader);
    
$error_spoofprotection = str_replace ('[pagemessage]', $lang['SLogin']['SpoofProtection'], $genericerror);
    
header ("Content-Type: text/html; charset=" . $_SESSION['DefaultCharSet']);
    echo
$PageHeader;
    echo
$error_spoofprotection;
    echo
$PageFooter;
    exit;
}

if (
$verifyfail == 1) {
    
session_unset();
    
session_destroy();
    
$PageHeader = str_replace ("[folders]", "", $PageHeader);
    
$PageHeader = str_replace ("[header_refresh]", "", $PageHeader);
    
$PageHeader = str_replace ("[pagetitle]", "", $PageHeader);
    
$error_spoofprotection = str_replace ('[pagemessage]', $lang['SLogin']['VerifyFailure'], $genericerror);
    
header ("Content-Type: text/html; charset=" . $_SESSION['DefaultCharSet']);
    echo
$PageHeader;
    echo
$error_spoofprotection;
    echo
$PageFooter;
    exit;
}

if (
$domainfailure >= 1) {
    
session_unset();
    
session_destroy();
    
$PageHeader = str_replace ("[folders]", "", $PageHeader);
    
$PageHeader = str_replace ("[header_refresh]", "", $PageHeader);
    
$PageHeader = str_replace ("[pagetitle]", "", $PageHeader);
    
$error_domainmodefailure = str_replace ('[pagemessage]', $lang['SLogin']['DomainMode'], $genericerror);
    
$error_domainmodefailure = str_replace ("[domain]", $domain, $error_domainmodefailure);
    
header ("Content-Type: text/html; charset=" . $_SESSION['DefaultCharSet']);
    echo
$PageHeader;
    echo
$error_domainmodefailure;
    echo
$PageFooter;
    exit;
}

// If we are using a database we need to insert the email address and password into the database
// We MD5 encrypt the username and password to ensure privacy
if ($UseDatabase == 1) {
    if (
$MySQLMakeConnection) {
        
$MySQLID = $MySQLConnection->DB_CheckUser($_SESSION['currentemailaddress'], $_SESSION['sess_p']);
        if (
$_POST['u'] || $initiallogin == 1) {
            
$MySQLUpdateLogin = $MySQLConnection->DB_UpdateLastLogin();
        }
    }
}

if (
$StatsLogging == 1 && $UseDatabase == 1) {
    
$LogAccess = $MySQLConnection->DB_LogAccess($IPLogging);
}

if (
$initiallogin == 1 && $redir == '') {
    
$PageInterstitiallogin = $getFile->fileRead('interstitiallogin');
    
$PageHeader = str_replace ("[folders]", "", $PageHeader);
    
$PageHeader = str_replace ("[header_refresh]", $headerrefresh, $PageHeader);
    
$PageHeader = str_replace ("[pagetitle]", "", $PageHeader);
    if (
$_SESSION['fs'] == 1) {
        
$PageInterstitiallogin = str_replace ("[login_redirect]", "frameset.php?f=" . $_SESSION['folder'] . "&amp;il=1" . $MainSettings->SessAppend_noecho($TransIDEnabled, 0), $PageInterstitiallogin);
    }
    else {
        
$PageInterstitiallogin = str_replace ("[login_redirect]", "mailbox.php?f=" . $_SESSION['folder'] . "&amp;il=1" . $MainSettings->SessAppend_noecho($TransIDEnabled, 0), $PageInterstitiallogin);
    }
    
$PageInterstitiallogin = str_replace ("[session]", $MainSettings->SessAppend_noecho($TransIDEnabled, 1), $PageInterstitiallogin);
    
$PageInterstitiallogin = str_replace ("[login_emailaddress]", $_SESSION['currentemailaddress'], $PageInterstitiallogin);
    
$PageInterstitiallogin = LangReplace('SLogin', $PageInterstitiallogin, $lang);
    
header ("Content-Type: text/html; charset=" . $_SESSION['DefaultCharSet']);
    echo
$PageHeader;
    echo
$PageInterstitiallogin;
    echo
$PageFooter;
    exit;
}
else {
    if (
$redir <> '') {
        
header ("Location: ./" . $redir . "&" . strip_tags(SID));
    }
    else {
        
header ("Location: ./" . $FinalDest . "?f=INBOX&il=1&" . strip_tags(SID));
    }
    exit;
}
?>

:: 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 #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0045 ]--