[Variablen] Sessionname von Hand ändern - ist das möglich?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Variablen] Sessionname von Hand ändern - ist das möglich?

    Hallo...

    ich habe folgende Frage...ist eigentlich kein Problem...es interessiert mich nur und ich konnte dazu noch keine Infos dazu finden...

    In meinen Internbereich speichere ich nach dem Login die Kundennummer in einer Session. Wenn ein Kunde nun sein Profil online ändern möchte nutze ich die folgende Abfrage um den Datensatz in der Datenbank zu finden.
    PHP-Code:
    ... WHERE kd_kdn '".$_SESSION['kdn']."' ... 
    Jetzt meine Frage dazu...ist es für jemanden, der meinen Kundenbereich manipulieren möchte möglich der Session einen neuen Wert zuzuweisen? Sei es über ein kleines Tool, den Browser oder mittels SQL-Injection?

    Würde so etwas gehen?
    Mfg,

    Schoppy

  • #2
    nein - nicht das ich wüsste - nein

    EDIT:
    bzw. alles is hackbar - nur dazu müsste der Angreifer entweder zugang zum server haben, oder sich dazwischen setzen "man in the middle"
    Zuletzt geändert von Benny-one; 20.09.2004, 11:48.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      Re: [Variablen] Sessionname von Hand ändern - ist das möglich?

      Original geschrieben von Schoppy
      ist es für jemanden, der meinen Kundenbereich manipulieren möchte möglich der Session einen neuen Wert zuzuweisen? Sei es über ein kleines Tool, den Browser oder mittels SQL-Injection?
      jein.

      zunächst einmal natürlich nicht, weil die session-daten auf dem server gespeichert werden, darauf hat niemand zugriff (*).

      gefahr lauert eigentlich nur an der stelle, wo du selbst deine session befüllst. wenn es mir irgendwie möglich wäre, den wert zu manipulieren, den du der session-var zuweist, dann hätte ich damit ja auch gleich die session-var selbst verändert. register_globals wäre hier ein sicherheitsrelevantes stichwort.



      (*) abgesehen vielleicht von leuten, die ebenfalls zugriff auf den server haben und dort daten ändern können - bei schlechter konfiguration evtl. denkbar.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Also könnte man das ganze nur bei der Anmeldung manipulieren, oder?

        Ich nutze zur Zeit folgendes Login-Script...wäre super wenn ich ein paar Tips bekommen könnte wie ich es sicherer machen kann. Vielleicht kennt jemand ja auch ein paar Links zu diesem Thema...
        PHP-Code:
        <?php
        /* Grundeinstellungen */
        require_once './global.php';

        $error FALSE;
        $titel 'Check';

        if (isset(
        $_POST['anmelden'])) {

            
        /* Überprüfe ob der User vorhanden ist */
            
        if ($_POST['kdn'] == '' || $_POST['passwort'] == ''){ 
                
        $error_msg 'Bitte füllen Sie alle Felder aus !';
                
        $error TRUE;
            
            } else {

                
        $result $db->query("SELECT * FROM ".$prefix."kunden 
                                                   WHERE kd_kdn = '"
        .$_POST['kdn']."'");
                
        $row mysql_num_rows($result);
                    
                
        /* Kein passender Benutzer vorhanden */
                
        if ($row == 0) {
                    
        $error_msg 'Diese Kundennummer ist nicht vorhanden !';
                    
        $error TRUE;
                } else {
                
                    
        $row mysql_fetch_array($result);
                    
                    
        /* Passwort stimmt nicht überein */
                    
        if ($row['kd_passwort'] <> $_POST['passwort']) {
                        
        $error_msg 'Bitte geben Sie das richtige Passwort ein !';
                        
        $error TRUE;
                    }
                }
            }
        }

        /* Eingaben des Users waren in Ordnung */
        if ($error == FALSE) {
            
        $kdn $row['kd_kdn'];
            
        session_register('kdn');
            echo 
        "<meta http-equiv='Refresh' content='0; url=index.php'>";

        } else {

            
        $tpl->load('content''login_form'); 
            
        $tpl->output();
        }
        ?>
        Mfg,

        Schoppy

        Kommentar


        • #5
          sieht sicher aus.
          wenn du noch in deiner php.ini register_globals = OFF; setzt, dann sollte es noch n tick sicherer sein.
          Sunshine CMS
          BannerAdManagement
          Borlabs - because we make IT easier
          Formulargenerator [color=red]Neu![/color]
          Herkunftsstatistik [color=red]Neu![/color]

          Kommentar


          • #6
            Da das Script bei einem anderen Provider läuft habe ich darauf leider keinen Einfluß...

            register_globals = ON
            Mfg,

            Schoppy

            Kommentar


            • #7
              hmm, eigentlich auch nicht tragisch *fällt mir ein* da du ja explizit die daten per $_POST anforderst *g* also - sicher ^^
              Sunshine CMS
              BannerAdManagement
              Borlabs - because we make IT easier
              Formulargenerator [color=red]Neu![/color]
              Herkunftsstatistik [color=red]Neu![/color]

              Kommentar

              Lädt...
              X