Lücke muss gefixxt werden!

  • Hi,
    seit gestern greifen CocaColaHater und No-Replay bzw. Aaapo auf meine Datenbank zu und veröffentlichen meine Tabelle Users und VIP_Bestellung.
    Ich habe mein ganzes CMS nach Lücken abgesucht, doch ich finde einfach keine. Auch mein MySQL Passwort habe ich schon geändert.

    Ich vermute, dass die Lücke in server-data.php_data_classes-core.php.php ist:

    Spoiler anzeigen

    <?php

    define("IN_HOLOCMS", TRUE);
    session_start();

    // #########################################################################
    // MySQL CONNECTOR
    // #########################################################################

    @require_once('server-data.php_data_classes-config.php.php');
    mysql_connect("$MySQLhostname", "$MySQLusername", "$MySQLpassword") or die("");
    mysql_select_db("$MySQLdb") or die("");

    // #########################################################################
    // Kurz Befehle
    // #########################################################################

    $cms_name = mysql_fetch_assoc($cms_name = mysql_query("SELECT * FROM cms_settings WHERE variable = 'cms_name'"));
    $cms_url = mysql_fetch_assoc($cms_url = mysql_query("SELECT * FROM cms_settings WHERE variable = 'cms_url'"));

    $remote_ip = $_SERVER[REMOTE_ADDR];
    $sitename = "".$cms_name['value']."";
    $shortname = "".$cms_name['value']."";

    if(@ini_get('date.timezone') == null && function_exists("date_default_timezone_get")){ @date_default_timezone_set("Europe/Berlin"); }

    $H = date('H');
    $i = date('i');
    $s = date('s');
    $m = date('m');
    $d = date('d');
    $Y = date('Y');
    $j = date('j');
    $n = date('n');
    $today = $d;
    $month = $m;
    $year = $Y;
    $getmoney_date = date('d.m.Y',mktime($m,$d,$Y));
    $birthday_date = date('d.m', mktime($m,$d));
    $date_normal = date('d.m.Y',mktime($m,$d,$Y));
    $date_full = date('d.m.Y H:i:s',mktime($H,$i,$s,$m,$d,$Y));
    $path = "".$cms_url['value']."";
    $adminpath = "".$path."/manage/hotel/de/housekeeping";
    $clientpath = "http://localhost/gordon/RELEASE63-34096/";
    $cimagesurl = "http://localhost/c_images";
    $badgesurl = "/album1584/";
    $hash_secret = "xCg532%@%gdvf^5DGaa6&*rFTfg^FD4\$OIFThrR_gh(ugf*/";

    $cms_settings = mysql_query("SELECT * FROM cms_settings LIMIT 1");
    $config = mysql_fetch_assoc($cms_settings);

    $maintenance = mysql_num_rows($maintenance = mysql_query("SELECT * FROM cms_settings WHERE variable = 'cms_maintenance' AND value = '1'"));

    $server = mysql_fetch_assoc($server_status = mysql_query("SELECT * FROM server_status"));
    $online_count = $server['users_online'];

    // #########################################################################
    // MySQL TABLE SITE_CONFIG
    // #########################################################################

    function FetchSITESetting($strSetting){

    $tmp = mysql_query("SELECT ".$strSetting." FROM cms_settings LIMIT 1") or die(mysql_error());
    $tmp = mysql_fetch_assoc($tmp);
    return $tmp[$strSetting];

    }

    // #########################################################################
    // CMS LOGIN FUNKTION
    // #########################################################################

    function HoloHash($password){
    $hash_secret = "xCg532%@%gdvf^5DGaa6&*rFTfg^FD4\$OIFThrR_gh(ugf*/";
    $string = sha1($password.($hash_secret));
    return $string;
    }

    function HoloHashMD5($password){
    $hash_secret = "xCg532%@%gdvf^5DGaa6&*rFTfg^FD4\$OIFThrR_gh(ugf*/";
    $string = md5($password.($hash_secret));
    return $string;
    }

    // #########################################################################
    // "EINGELOGGT BLEIBEN" FUNKTION
    // #########################################################################

    if(!session_is_registered(username) && $_COOKIE['remember'] == "remember"){

    $cname = FilterText($_COOKIE['rusername']);
    $cpass_hash = $_COOKIE['rpassword'];

    $csql = mysql_query("SELECT password,id FROM users WHERE username = '".$cname."' LIMIT 1") or die(mysql_error());
    $cnum = mysql_num_rows($csql);

    if($cnum < 1){
    setcookie("remember", "", time()-60*60*24*100, "/"); setcookie("cookpass", "", time()-60*60*24*100, "/");
    setcookie("rusername", "", time()-60*60*24*100, "/"); setcookie("cookpass", "", time()-60*60*24*100, "/");
    setcookie("rpassword", "", time()-60*60*24*100, "/"); setcookie("cookpass", "", time()-60*60*24*100, "/");
    } else {

    $crow = mysql_fetch_assoc($csql);
    $correct_pass = $crow['password'];

    if($cpass_hash == $correct_pass){
    $_SESSION['username'] = $cname;
    $_SESSION['password'] = $crow['password'];
    $sql3 = mysql_query("UPDATE users SET ip_last = '".$remote_ip."' WHERE username = '".$cname."'");
    header("location: me"); exit;
    } else {

    setcookie("remember", "", time()-60*60*24*100, "/"); setcookie("cookpass", "", time()-60*60*24*100, "/");
    setcookie("rusername", "", time()-60*60*24*100, "/"); setcookie("cookpass", "", time()-60*60*24*100, "/");
    setcookie("rpassword", "", time()-60*60*24*100, "/"); setcookie("cookpass", "", time()-60*60*24*100, "/");
    }
    }
    }

    // #########################################################################
    // IS-EVEN FUNKTION
    // #########################################################################

    function IsEven($intNumber)
    {
    if($intNumber % 2 == 0){
    return true;
    } else {
    return false;
    }
    }

    // #########################################################################
    // SMILIES FOR GRUPPEN/FORUM
    // #########################################################################

    function bbcode_format($str){

    $str = str_replace(":)", " <img src='./web-gallery/smilies/smile.gif' alt='Smiley' title='Smiley' border='0'> ", $str);
    $str = str_replace(";)", " <img src='./web-gallery/smilies/wink.gif' alt='Smiley' title='Smiley' border='0'> ", $str);
    $str = str_replace(":P", " <img src='./web-gallery/smilies/tongue.gif' alt='Smiley' title='Smiley' border='0'> ", $str);
    $str = str_replace(";P", " <img src='./web-gallery/smilies/winktongue.gif' alt='Smiley' title='Smiley' border='0'> ", $str);
    $str = str_replace(":p", " <img src='./web-gallery/smilies/tongue.gif' alt='Smiley' title='Smiley' border='0'> ", $str);
    $str = str_replace(";p", " <img src='./web-gallery/smilies/winktongue.gif' alt='Smiley' title='Smiley' border='0'> ", $str);
    $str = str_replace("(L)", " <img src='./web-gallery/smilies/heart.gif' alt='Smiley' title='Smiley' border='0'> ", $str);
    $str = str_replace("(l)", " <img src='./web-gallery/smilies/heart.gif' alt='Smiley' title='Smiley' border='0'> ", $str);
    $str = str_replace(":o", " <img src='./web-gallery/smilies/shocked.gif' alt='Smiley' title='Smiley' border='0'> ", $str);
    $str = str_replace(":O", " <img src='./web-gallery/smilies/shocked.gif' alt='Smiley' title='Smiley' border='0'> ", $str);

    $simple_search = array(
    '/\[b\](.*?)\[\/b\]/is',
    '/\[i\](.*?)\[\/i\]/is',
    '/\[u\](.*?)\[\/u\]/is',
    '/\[s\](.*?)\[\/s\]/is',
    '/\[quote\](.*?)\[\/quote\]/is',
    '/\[link\=(.*?)\](.*?)\[\/link\]/is',
    '/\[url\=(.*?)\](.*?)\[\/url\]/is',
    '/\[color\=(.*?)\](.*?)\[\/color\]/is',
    '/\(.*?)\[\/size\]/is',
    '/\(.*?)\[\/size\]/is',
    '/\[code\](.*?)\[\/code\]/is',
    '/\[habbo\=(.*?)\](.*?)\[\/habbo\]/is',
    '/\[room\=(.*?)\](.*?)\[\/room\]/is',
    '/\[group\=(.*?)\](.*?)\[\/group\]/is'
    );

    $simple_replace = array(
    '<strong>$1</strong>',
    '<em>$1</em>',
    '<u>$1</u>',
    '<s>$1</s>',
    "<div class='bbcode-quote'>$1</div>",
    "<a href='$1'>$2</a>",
    "<a href='$1'>$2</a>",
    "<font color='$1'>$2</font>",
    "<font size='1'>$1</font>",
    "<font size='3'>$1</font>",
    '<pre>$1</pre>',
    "<a href='./user_profile.php?id=$1'>$2</a>",
    "<a onclick=\"roomForward(this, '$1', 'private'); return false;\" target=\"client\" href=\"./client.php?forwardId=2&roomId=$1\">$2</a>",
    "<a href='./group_profile.php?id=$1'>$2</a>"
    );

    $str = preg_replace ($simple_search, $simple_replace, $str);

    return $str;
    }

    // #########################################################################
    // FÜR LOGIN_TICKET
    // #########################################################################

    function GenerateTicket(){

    $data = "ST-";

    for ($i=1; $i<=6; $i++){
    $data = $data . rand(0,9);
    }

    $data = $data . "-";

    for ($i=1; $i<=20; $i++){
    $data = $data . rand(0,9);
    }

    $data = $data . "-habbore-beta-fe";
    $data = $data . rand(0,5);

    return $data;
    }

    // #########################################################################

    if(session_is_registered('username')){

    $rawname = $_SESSION['username'];
    $rawpass = $_SESSION['password'];

    $usersql = mysql_query("SELECT * FROM users WHERE username = '".$rawname."' AND password = '".$rawpass."' LIMIT 1");
    $myrow = mysql_fetch_assoc($usersql);

    $userinfo = mysql_query("SELECT * FROM user_stats WHERE id = '".$myrow['id']."'");
    $userinfo = mysql_fetch_assoc($userinfo);

    $password_correct = mysql_num_rows($usersql);

    $my_id = $myrow['id'];
    $user_rank = $myrow['rank'];

    $ban = mysql_query("SELECT * FROM bans WHERE value = '".$myrow['username']."' AND bantype = 'user' or value = '".$remote_ip."' AND bantype = 'ip' LIMIT 1");
    $bancheck = mysql_num_rows($ban);

    if($myrow['ip_reg'] == "0"){
    mysql_query("UPDATE users SET ip_reg = '".$remote_ip."' WHERE id = '".$myrow['id']."'");

    }elseif($password_correct !== 1){

    session_destroy();
    header("location: ".$path."1");
    exit;

    }elseif($bancheck > 0){

    $bandata = mysql_fetch_assoc($ban);

    $timestamp = time();
    if($bandata['expire'] > $timestamp){
    $login_error = "Du bist gebannt! Der Grund für deinen Bann lautet \"".$bandata['reason']."\" und dauert bis ".date('d.m.Y - H:i:s', $bandata['expire'])."";
    include('logout.php');
    session_destroy(); exit;

    } else{
    mysql_query("DELETE FROM bans WHERE value = '".$name."' AND bantype = 'user' or value = '".$remote_ip."' AND bantype = 'ip' LIMIT 1"); }
    }

    $logged_in = true;
    $name = HoloText($myrow['username']);

    } else {

    $user_rank = 0;
    $name = "No-Name";
    $my_id = "No-ID";
    $myticket = "ST-No-Name-habbore-fe";
    $logged_in = false;

    }

    // #########################################################################
    // HC CHECK
    // #########################################################################

    $hc_a = mysql_query("SELECT * FROM user_subscriptions WHERE user_id = '".$my_id."' and timestamp_expire > '".time()."'");
    $hc = mysql_num_rows($hc_a);

    function getHCDays($my_id){

    $sql = mysql_query("SELECT timestamp_activated,timestamp_expire FROM user_subscriptions WHERE user_id = '".$my_id."' LIMIT 1") or die(mysql_error());

    if (mysql_num_rows($sql) == 0){
    return 0;
    }

    $data = mysql_fetch_assoc($sql);
    $diff = $data['timestamp_expire'] - time();

    if ($diff <= 0){
    return 0;
    }

    return ceil($diff / 86400);
    }


    // #########################################################################
    // VIP CHECK
    // #########################################################################

    $vip_a = mysql_query("SELECT * FROM vip WHERE id_user = '".$my_id."'");
    $vip = mysql_num_rows($vip_a);

    function getVIPDays($my_id){

    $sql = mysql_query("SELECT timestamp,timestampend FROM vip WHERE id_user = '".$my_id."' LIMIT 1") or die(mysql_error());

    if (mysql_num_rows($sql) == 0){
    return 0;
    }

    $data = mysql_fetch_assoc($sql);
    $diff = $data['timestampend'] - time();

    if ($diff <= 0){
    return 0;
    }

    return ceil($diff / 86400);
    }


    // #########################################################################
    // HK/IS_MAINTENANCE CHECK
    // #########################################################################

    if($user_rank > 4){

    if(session_is_registered(hkusername) && session_is_registered(hkpassword)){
    $rank['iAdmin'] = "1";
    } else {
    $rank['iAdmin'] = "0";
    }

    } else {
    $rank['iAdmin'] = "0";
    }

    if($maintenance == '1' && !$is_maintenance && $rank['iAdmin'] < 1){
    header("Location: ".$path."/maintenance");
    exit;
    } elseif($rank['iAdmin'] == 1 && $config['variable'] == "cms_maintenance" && $config['value'] == '1'){
    $notify_maintenance = true;
    }

    // #########################################################################

    function IsUserBanned($name){

    $check = mysql_query("SELECT * FROM bans WHERE value = '".$my_id."' AND bantype = 'user' or value = '".$remote_ip."' AND bantype = 'ip'") or die(mysql_error());
    $is_banned = mysql_num_rows($check);

    if($is_banned > 0){
    $bandata = mysql_fetch_assoc($check);
    $reason = $bandata['reason'];
    $expire = $bandata['expire'];

    $stamp_now = time();

    if($stamp_now < $bandata['expire']){
    return true;
    } else { // ban expired
    mysql_query("DELETE FROM bans WHERE value = '".$my_id."' AND bantype = 'user' or value = '".$remote_ip."' AND bantype = 'ip' LIMIT 1") or die(mysql_error());
    return false;
    }
    } else {
    return false;
    }
    }

    // #########################################################################

    function mysql_evaluate($query, $default_value="undefined") {
    $result = mysql_query($query) or die(mysql_error());

    if(mysql_num_rows($result) < 1){
    return $default_value;
    } else {
    return mysql_result($result, 0);
    }
    }

    // #########################################################################

    function FilterText($str, $advanced=false) {
    if($advanced == true){ return mysql_real_escape_string($str); }
    $str = mysql_real_escape_string(htmlspecialchars($str));
    return $str;
    }

    function HoloText($str, $advanced=false, $bbcode=false) {
    if($advanced == true){ return stripslashes($str); }
    $str = stripslashes(nl2br(htmlspecialchars($str)));
    if($bbcode == true){$str = bbcode_format($str); }
    return $str;
    }

    if($_SERVER["HTTP_HOST"] == "88.198.58.10"){ header("location: http://mymabbo.net".$_SERVER["REQUEST_URI"].""); }

    ?>


    Die Lücke könnte genau so in der Datenbank sein, da sie meinten, dass viele Hotels die Lücke haben und sie nicht fixen können.
    Ich benutze die Datenbank 3.8.1 - natürlich mit meinem eigenen Katalog und bei Users.sql habe ich einige Spalten hinzugefügt.

    Vielleicht könnt ihr die entdecken oder habt einen Rat für mich.
    Vielen Dank im Voraus!

  • Unten an der Core solltest du mal die IP's auswechseln und die Myhabbo domain.
    Damit ist es noch nicht getahn, aber wenn sie zugriff haben, warum löschen die die Datenbank dann nicht?

  • Unten an der Core solltest du mal die IP's auswechseln und die Myhabbo domain.
    Damit ist es noch nicht getahn, aber wenn sie zugriff haben, warum löschen die die Datenbank dann nicht?

    Naja, ich denke mal die können die nur ansehen und dumpen oder die wollen uns nur warnen.
    Im 'Defaced Retro Thread' hieß es, dass sie niemanden schaden wollen, sondern nur "warnen" wollen.

  • Naja, ich denke mal die können die nur ansehen und dumpen oder die wollen uns nur warnen.
    Im 'Defaced Retro Thread' hieß es, dass sie niemanden schaden wollen, sondern nur "warnen" wollen.


    Und wenn sie sich 'n Dump ziehen, kannst du Cabbo schließen. :D
    Nimm doch mal eine andere Core, wenn du codes hinzugefügt hast, kannst du diese ja in die neue nehmen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!