Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Session sichern

Diskussion: Session sichern im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo zusammen Ich hatte bereits einen Thread eröffnet, aber jetzt habe ich ein konkreteres Problem... und zwar ist mein ...

Antwort
Alt 20.06.07, 16:12   #1 (permalink)
 
Registriert seit: 13.06.07
Lilu Leistung: Facit NTK
Likes: 0
Session sichern

Anzeige

Hallo zusammen

Ich hatte bereits einen Thread eröffnet, aber jetzt habe ich ein konkreteres Problem... und zwar ist mein Session handling total unsicher...

die index.php sieht folgendermassen aus:

Code:
session_start();
$logout = $_GET['logout'];
if($logout == 1)
  {
    session_regenerate_id();
    session_destroy();
  }
$Sess_Id = $_SESSION['Session_Id'];
$Sess_eingeloggt = $_SESSION['eingeloggt'];
$Sess_User_Id = $_SESSION['User_Id'];
$Sess_User_Name = $_SESSION['User_Name'];
$Sess_User_Vorname = $_SESSION['User_Vorname'];
die login.php wird mittels include in die index.php eingefügt und sieht folgendermassen aus:

Code:
$EMail = $_POST["EMail_login"];
$Passwort = $_POST["Passwort_login"];
if(get_magic_quotes_gpc()) 
  {
    $Passwort = stripslashes($_POST["Passwort_login"]);
    $EMail = stripslashes($_POST["EMail_login"]);
  } 
else 
  {
    $EMail = $_POST["EMail_login"];
    $Passwort = $_POST["Passwort_login"];
  }
if($EMail && $Passwort)
  {
    $Query = sprintf("select * from benutzer where EMail = '%s'",
    mysql_real_escape_string($EMail));
    $Eintragen = mysql_query($Query);
    $row = mysql_fetch_row($Eintragen);
    if($row[1] == md5($Passwort))
      {
        $_SESSION['Session_Id'] = session_id();
        $_SESSION['User_Id'] = $row[0];
        $_SESSION['User_Name'] =  $row[3];
        $_SESSION['User_Vorname'] = $row[4];
        $Sess_Id = $_SESSION['Session_Id'];
        $Sess_User_Id = $_SESSION['User_Id'];
        $Sess_User_Name = $_SESSION['User_Name'];
        $Sess_User_Vorname = $_SESSION['User_Vorname'];
      }
  }
ich dachte das sei so einigermassen sicher, habe aber einmal zum spass ein kleines Script geschrieben das ich hack.php nannte und das sieht folgendermassen aus:

Code:
<?php
session_start();
$_SESSION['Session_Id'] = session_id();
?>
<form action="index.php" method="post">
<input type="submit" name="submit" value="absenden" />
</form>
um zu prüfen ob jemand eingeloggt ist verwende ich jeweils
Code:
$Sess_Id == session_id()
weil die $Sess_Id ja nur gesetzt werden sollte, wenn das Passwort richtig eingegeben wurde... zu meinem entsetzen bin ich aber mittels diesen "hacks" auch eingeloggt... kann mir irgendjemand einen tipp geben wie ich verhindern kann, dass sich nicht andere Personen mittels so einem scriptlein zugang in den registrierten bereich verschaffen??
Lilu ist offline   Mit Zitat antworten
Alt 20.06.07, 16:55   #2 (permalink)
Member of Honour
 
Registriert seit: 20.10.01
boppy Leistung: Facit NTK
boppy eine Nachricht über ICQ schicken
Likes: 0
Standard

Sicherheitstechnisch gibt es hier wenig bedenken.
Die Session wird Serverseitig gespeichert und steht auch nur dort zur Vfg. Dein ausführendes Script (hack.php) funktioniert, weil es auf dem gleichen Server liegt, wie das auszuführende script (index.php). Und wenn ein Hac^W böser Mensch zugriff auf dein Dateisystem hat um diese Datei dort zu speichern, ist eh alles zu spät!
boppy ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 20.06.07, 17:05   #3 (permalink)
CLX
 
Registriert seit: 17.02.07
CLX Leistung: Facit NTK
CLX eine Nachricht über ICQ schicken
Likes: 0
Standard

Ein Angreifer könnte einem Nutzer einen Link mit Session-ID zuweisen. Daher nach dem Login, beim Laden, oder sonst wo session_regenerate_id() verwenden. (Nach dem Logout ist es denke ich nicht mehr sehr sinnvoll die ID neu zu generieren?! )
CLX ist offline   Mit Zitat antworten
Alt 20.06.07, 17:07   #4 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
lol die Session ID in einer Session abspeichern...


Wie macht man dies nun sicher? so:
PHP-Code:
<?php
session_start
();

if(isset(
$_SESSION['User_Id']))
  
//Er ist eingelogt
else
  
//Logg dich erstmal ein!
?>
Da die Session User_Id nur gesetzt ist/wird, wenn das PW stimmt (und User_Id i.d.R. nicht 'null' ist), kann man nur reinkommen, wenn man sich auch eingeloggt hat.

PS: Prefixe für die Sessions macht mehr Sinn als für Variablen, also lieber:
$User_Id = $_SESSION['Sess_User_Id'];
ansatt so wie du es bisher gemacht hast
Elderan ist offline   Mit Zitat antworten
Alt 20.06.07, 17:29   #5 (permalink)
Themenstarter
 
Registriert seit: 13.06.07
Lilu Leistung: Facit NTK
Likes: 0
Standard

alles klar, habe alles so geändert, wie ihr geschrieben habt... ich und PHP sind noch nicht ganz so ein dolles Team

kann von mir aus geclosed werden... danke euch...!
Lilu ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Session sichern
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Cannot send session cookie reaLInsanity (Web-) Design und webbasierte Sprachen 9 06.04.07 00:18
ssh session remote beenden boehmi Linux/UNIX 5 17.05.06 14:14
Session Hacken ? Dragon2003 (Web-) Design und webbasierte Sprachen 11 14.09.05 13:06
auswahloptionen - session typ bei begruessungsbildschirm chrisi Linux/UNIX 2 11.01.05 20:07
Telnet/SSH Session von WebSite aus phoebe (Web-) Design und webbasierte Sprachen 2 25.10.03 15:35


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61