Hallo zusammen,
habe gerade ein loginscript programmiert und wollte es von euch auf sicherheitslücken prüfen lassen.
... wenn also der eine oder andere ein paar worte dazu verlieren könnte wärs nice :]
Wenn jmd das script selbst verwenden will, kann er dies gerne tun.
habe gerade ein loginscript programmiert und wollte es von euch auf sicherheitslücken prüfen lassen.

Wenn jmd das script selbst verwenden will, kann er dies gerne tun.
PHP:
<?php
session_start();
if(!isset($_SESSION['IP'])) {
$_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
}
if($_SESSION['IP'] != $_SERVER['REMOTE_ADDR']) {
echo "Sie dürfen nicht die Session von einem<br>anderen user Benutzten. Bitte benutzen sie<br>folgenden Link um zur Homepage zu gelangen.<br><a href=\"http://www.meineseite.de\">Zurück zur Homepage</a>";
die();
}
echo $_SESSION[logged_user_id] . " - " . $_SESSION[logged_user_pw] . " - " . session_id() . "<br><br><hr>";
?>
<form action="index.php" method="post">
<input type="submit" value="logout">
<input type="hidden" name="nav" value="haendler_login">
<input type="hidden" name="show" value="logout">
</form>
<?
switch($show){
default:
if(!isset($_SESSION["logged_user_id"]) || !isset($_SESSION["logged_user_pw"])) {
?>
<form action="index.php" method="post">
<center>
<table>
<tr>
<td>User:</td>
<td><input type="text" name="user"></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input type="password" name="pw"></td>
</tr>
<tr>
<td></td>
<td align=center><input type="submit" value="login"> <input type="reset" value="reset"></td>
</tr>
</table>
</center>
<input type="hidden" name="nav" value="haendler_login">
<input type="hidden" name="show" value="login">
<input type="hidden" name="PHPSESSID" value="<? echo session_id(); ?>">
</form>
<?
} else {
print "<meta http-equiv=\"refresh\" content=\"0; URL=index.php?nav=haendler_login&show=haendler_area&PHPSESSID=" . session_id() . "\">";
}
break;
case "login":
//LOGIN PASSWORT CHECK
$valid_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$valid_chars_size = strlen($valid_chars);
$password_size = strlen($_POST[pw]);
$user_password = strtoupper($_POST[pw]);
$count = 0;
while($count < $password_size) {
$count2 = 0;
while($count2 < $valid_chars_size) {
if($user_password[$count] == $valid_chars[$count2]) {
$cr8pw .= $valid_chars[$count2];
$count2 = $valid_chars_size;
} else {
$count2++;
}
}
$count++;
}
//LOGIN USERNAME CHECK
$valid_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$valid_chars_size = strlen($valid_chars);
$user_size = strlen($_POST[user]);
$user = strtoupper($_POST[user]);
$count = 0;
while($count < $user_size) {
$count2 = 0;
while($count2 < $valid_chars_size) {
if($user[$count] == $valid_chars[$count2]) {
$cr8user .= $valid_chars[$count2];
$count2 = $valid_chars_size;
} else {
$count2++;
}
}
$count++;
}
$result = mysql_query("SELECT kundennummer , password FROM $us_haendler WHERE kundennummer = $cr8user");
$out = mysql_fetch_array($result);
if($cr8user == $out[kundennummer] && $cr8pw == $out[password]) {
$_SESSION["logged_user_id"] = $cr8user;
$_SESSION["logged_user_pw"] = md5($cr8pw);
print "<meta http-equiv=\"refresh\" content=\"0; URL=index.php?nav=haendler_login&show=haendler_area&PHPSESSID=" . session_id() . "\">";
} else {
print "Falsche Logindaten eingegeben";
print "<meta http-equiv=\"refresh\" content=\"10; URL=index.php?nav=haendler_login&show=logout\">";
}
break;
case "logout":
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
session_destroy();
print "<meta http-equiv=\"refresh\" content=\"0; URL=index.php?nav=haendler_login\">";
break;
case "haendler_area":
$result = mysql_query("SELECT kundennummer , password FROM $us_haendler WHERE kundennummer = $_SESSION[logged_user_id]");
$out = mysql_fetch_array($result);
if($_SESSION["logged_user_id"] == $out[kundennummer] && $_SESSION["logged_user_pw"] == md5($out[password])) {
echo "yo es geht :) ";
} else {
echo "Sie haben keine Berechtigung diesen Bereich zu betreten.<br>Scheinbar gibt es Sicherheitslücken mit Ihrer Session oder Ihren Cookies.";
}
break;
}
?>
Zuletzt bearbeitet: