Beiträge von NoOne.

    Ich würde Kiwiguard downloaden und das Tool "Einschränkungen für IP Adressen und Domänen" hinzufügen.

    Kiwiguard zeigt dir die IP und mit dem Tool, was extra für IIS entwickelt wurde kannst du sie blocken.

    So hab ich es früher gemacht. :love:

    Das liegt daran, dass die meisten Hotels mit CloudFlare falsch konfiguiert sind.
    Sucht im Core nach: $remote_ip = $remote_ip = $_SERVER['REMOTE_ADDR']

    Ergänzt es durch: $remote_ip = $remote_ip = $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"] ? $_SERVER["HTTP_CF_CONNECTING_IP"] : $_SERVER["REMOTE_ADDR"];

    Ja, es ist für mich normal.
    Wenn jemand meint, dass er mal eben das ReCMS installieren kann und ein Hotel ohne Probleme am Bestehen halten kann, dann ist er in der Retroszene falsch.
    Das Re- bzw. HoloCMS wurde schon zig-mal editiert, da sind Lücken üblich.

    Mit dem "normal" ist nicht gemeint, dass ich SQLI Ausnutzern einen Lob gebe, aber ich kritisiere sie nicht schlecht.
    Solltest Du als Hinweis nehmen. Wenn sie erstmal Zugriff haben, dann wollen sie natürlich Daten einfügen oder editieren und fühlen sich dann besser.

    Mach tägliche Backups, wenn er das nächste Mal in deinen Account kommt, überprüfe seine IP und speichere sie dir in einer Datei.
    Schreibe nun in einer Datei, die oft included wird (beispielsweise die Config oder Core Datei im Ordner data_classes), einen MYSQL Befehl, der die aktuelle Adresse (besuchte Seite deines Hotels) in einer Tabelle abspeichert.

    Nun hast Du einen Überblick über die besuchten Adressen des Anwenders.

    Da ist CloudFlare nutze sehe ich nicht die echten IP Adressen.

    Warum niveaulos?
    Er hat eine Lücke gefunden und nutzt sie aus. Für mich ist das normal.

    Schau mal im Habblet Ordner nach, wirst viele Lücken finden. Und eine XSS in der Home.

    Was ist daran normal? Ich finde es einfach nur schadend. Und ja es ist niveaulos eine Lücke auszunutzen, man will heutzutage einfach nur der Beste sein.
    Und wenn es sein muss erlangt man sich den Respekt mit einer SQLI? Und das ist für dich Normal?!

    Guten Tag,

    gestern als ich eine Werbeaktion gestartet habe kam der (meiner Meinung nach) sehr niveaulose Hotelleiter und hat sich in meinen Account eingeloggt und dann alle in sein Hotel geleitet..

    Jedoch weiß ich nicht wo diese Lücke war.


    Könnte mir jemand sagen wo diese Lücke meistens enthalten ist? Und direkt sagen wie man sie fixxt? Wäre sehr dankbar.

    (Nein, ich hab niemanden mein Passwort gegeben und ja ich habe einen HK Code den er ebenfalls herausbekommen hat.)

    Über mein Edit kritisieren das es eine Rehotel.biz CMS ist aber selber kommst du nichtmal klar..
    Das problem ist auf dich erwarten noch errors die du so nicht fixxen wirst ^^

    Kritisieren? Ich habe nur eine Frage gestellt.

    Außerdem steht im Download Rehotel.biz also woher sollte ich wissen können, dass es deins ist?

    Schau mal in die /index.php ob dort irgendwelche anderen Seiten außer dein Hotel, oder ein Script das auf die Datenbank weißt eingetragen ist.
    Ansonsten schau mal unter cms_settings in deiner Datenbank ob du dort alles eingestellt hast, bezüglich deiner Domain/IP.

    Nun ja , ich habs schon versucht der Index sieht aber so aus:

    <?php

    $page['header'] = TRUE;
    require('x_habbo_servercore/MYSQL/[DB]-MYSQL.php');
    require('x_habbo_servercore/CORE-QatIbJqiE3d8fayOMfWBmYxYP.php');
    require('x_habbo_servercore/COOKIE-REMEMBER.php');

    if(session_is_registered(username)){ header("location: http://%22.%24defaultpath.%22/me"); exit; }

    $title = "Erstelle deinen $pagename, designe deinen Raum, chatte und triff neue Freunde";
    $id = "[login]";

    require('./templates/login.php');
    require('./habblet/login/ajax.php');

    ?>



    Ein Techniker würde es doch wissen ?

    Schon, aber wenn das CMS komplett anders aufgebaut ist, schadet es nicht zu fragen.


    Nun ja das Core sieht so aus: <?php

    define("IN_HOLOCMS", TRUE);

    @require_once('CONFIG-7iIXUInqDS6A05R4zCT721Pfe.php');

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

    // #########################################################################
    // LOGIN-HASH
    // #########################################################################

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

    // #########################################################################
    // MUS-DATA
    // #########################################################################

    define('SEP', DIRECTORY_SEPARATOR);
    $dir = str_replace('register'.SEP, '', dirname(__FILE__).SEP);
    define('DIR', $dir);
    define('INCLUDES', DIR.''.SEP);

    $core = new Core();
    class Core {
    public function MUS($command, $data = ''){
    $MUSdata = $command . chr(1) . $data;
    $socket = @socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));
    @socket_connect($socket, 'localhost', '30002');
    @socket_send($socket, $MUSdata, strlen($MUSdata), MSG_DONTROUTE);
    }
    }

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

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

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

    function getHCDays($my_id){

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

    if($hc == 0){ return 0; }

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

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

    return ceil($diff / 86400);
    }

    // #########################################################################
    // MySQL_EVALUATE
    // #########################################################################

    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);
    }
    }

    // #########################################################################
    // Filter/-HoloText
    // #########################################################################

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

    function News_Text($str) {
    if(get_magic_quotes_gpc()){ $str = stripslashes($str); }
    $str = preg_replace(array('/\x{0001}/u','/\x{0002}/u','/\x{0003}/u','/\x{0005}/u','/\x{0009}/u'),' ',$str);
    $str = mysql_real_escape_string($str);
    return $str;
    }

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

    function STR($str) {
    $str = mysql_real_escape_string($str);
    return $str;
    }

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

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

    function GetUserGroup($my_id){
    $check = mysql_query("SELECT id_group FROM group_members WHERE id_user = '".$my_id."' AND is_current = '1' LIMIT 1") or die(mysql_error());
    if(mysql_num_rows($check) > 0){

    $row = mysql_fetch_assoc($check);
    $groupid = $row['id_group'];
    return $groupid;
    } else {
    return false;
    }
    }

    function GetUserGroupBadge($my_id){
    $check = mysql_query("SELECT id_group FROM group_members WHERE id_user = '".$my_id."' AND is_current = '1' LIMIT 1") or die(mysql_error());
    if(mysql_num_rows($check) > 0){

    $row = mysql_fetch_assoc($check);
    $groupid = $row['id_group'];

    $check = mysql_query("SELECT badge FROM group_details WHERE id = '".$groupid."' LIMIT 1") or die(mysql_error());

    $row = mysql_fetch_assoc($check);
    $badge = $row['badge'];

    return $badge;
    } else {
    return false;
    }
    }

    // #########################################################################
    // Server
    // #########################################################################

    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];

    }

    if(FetchSITESetting('ha_werbung_timestamp') < time()){
    $core->MUS('ha', 'Um den Spaßfaktor zu erhöhen könnt ihr euren Freunden bescheidgeben, dass sie auch das HabboRE Hotel besuchen sollen! :)');
    mysql_query("UPDATE cms_settings SET ha_werbung_timestamp = ".time()." + '3600'");
    }


    if(!isset($_SESSION['username']) or !isset($_SESSION['acp'])){
    ini_set('session.gc_probability', 1);
    @session_start();
    }

    if(isset($_SERVER['HTTP_CF_CONNECTING_IP'])){
    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
    }

    $remote_ip = $_SERVER['REMOTE_ADDR'];
    $date_full = date('d.m.Y H:i:s');
    $date_normal = date('d.m.Y');

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

    // #########################################################################
    // LOGIN
    // #########################################################################

    if(session_is_registered('username')){

    $rawname = FilterText($_SESSION['username']);
    $rawpass = FilterText($_SESSION['password']);

    $sql = mysql_query("SELECT * FROM users WHERE username = '".$rawname."' AND password = '".$rawpass."' LIMIT 1");
    $user = mysql_fetch_object($sql);

    $sql = mysql_query("SELECT expire,reason FROM bans WHERE value = '".$user->username."' AND bantype = 'user' AND bandata > '".time()."' or value = '".$remote_ip."' AND bantype = 'ip' AND bandata > '".time()."' ORDER BY id DESC LIMIT 1");

    if(mysql_num_rows($sql) > 0){
    header("location: ".$path."/account/logout"); exit;
    $ban = mysql_fetch_object($ban);
    $login_error = "Du bist gebannt! Der Grund für deinen Bann lautet \"".$ban->reason."\" und dauert bis ".date('d.m.Y - H:i:s', $ban->expire)."";
    require_once('logout.php'); exit;
    }

    $_SESSION['login'] = "true";
    $my_id = $user->id;
    $name = $user->username;

    } else {

    $name = "null";
    $_SESSION['login'] = "false";
    $user->theme = "default";
    $user->id = "0";

    }

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

    if($user_rank > 4 && isset($_SESSION['acp'])){
    $rank['iAdmin'] = "1";
    } else {
    $rank['iAdmin'] = "0";
    }

    if(FetchSITESetting('cms_maintenance') == '1' && !isset($is_maintenance)){
    header("Location: http://%22.%24defaultpath.%22/maintenance");
    exit;
    } elseif($rank['iAdmin'] == 1 && FetchSITESetting('cms_maintenance') == '1'){
    $notify_maintenance = false;
    }
    ?>


    Wo ist der Fehler?