Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 5%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 392 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

SevenofNine

Foren Gott

Dabei seit: 30.10.2002

Beiträge: 5 219

 

1 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 03:57

Userabgleich phpkit nach WBB2.x.x

Also dann wollen wir mal , ich bekomm e snicht hin, es soll aber wohl funktionieren, nur eben bei mir nicht.

Es ist ein Userabgleich, der soll folgendes machen.
User xy meldet sich an einem PHPKIT an und wird sobald er sich einloggt in die user table von einem wbb2 eingetragen.

hier der code.

PHP-Quelltext

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?PHP
// phpKit und wbb2.1 abgleichen Begin     '.$time_now'


// Variable Tabelle für Forum : 
$tabelle "bb1_users";
$tab_user="phpkit_user";
// ENDE Variable

$pw = ("$user_pw");
$bbpw = ("$pw");

$servercon=@mysql_connect($sqlhost$sqluser$sqlpass) or die ("<html><head><meta http-equiv=\"REFRESH\" content=\"0; url=info.php?error=1\"></head><body></body></html>");
if (!mysql_select_db($database)) {header ("location: info.php?error=1"); exit();}

$getinfo=mysql_query("SELECT * FROM $tab_user WHERE user_name='$user_name' AND user_pw='$user_pw'"$servercon);
$info=mysql_fetch_array($getinfo);



$board_abfrage mysql_query("SELECT * FROM bb1_users WHERE username='$info[user_name]'",$servercon);
$board mysql_fetch_array($board_abfrage);
$nav_boxname "navbox.neuebeitraege.php";
$tab_navbox ="phpkit_navigationcat";
$time_box=date("d M y H:i",$board[lastvisit]);

/*
echo "board[lastvisit] : $board[lastvisit] <br>";
echo "time aus Datenabank  : 1024791717 <br>";
$time_1 = strftime("%A, %d-%m-%Y %R",'1024791717');
echo "umgewandelt : $time_1<br>";
$unix_time = time();
echo "UNIX-Zeitstempel jetzt : $unix_time<br>";
echo date("d M y H:i",'1024793792') . "<br>";


echo "<br>DATEN aus wbb2 Datenbank<br><br>";
echo "    Board_User_ID : $board[userid] ---> Board_Username : $board[username] ---> Board_UserPasswort : $board[password]";
echo "<BR>";
echo "Daten aus PhPKit<BR>";
echo "    PhpKit User Name unverschlüsselt : $info[user_name] <BR>";
echo "    PhpKit User PW unverschlüsselt  : $pw  <br>";
echo "<BR><BR>Neue Daten für Forum schreiben<BR>";
echo "    Neuer Username für Forum : $info[user_name]<BR>";
echo "    Neues Passwort für Forum : $bbpw<BR>";
echo "    USER ID PHPKIT : $info[user_id]<BR>";
echo "Board User ID +1 : $board[userid]<BR>";
*/
$box "Neue Beiträge seit $time_box";
If ($user_name == "guest") {
    $box "Neue Beiträge";
    }
mysql_query("SELECT * FROM $tab_navbox WHERE navigationcat_box = '$nav_boxname'",$servercon);
mysql_query("UPDATE $tab_navbox SET navigationcat_title='$box' WHERE navigationcat_box='$nav_boxname'",$servercon);

if (($info[user_name]!="guest") && ($info[user_name]!="$board[username]")) {
    //echo "Neuen User schreiben ".$info[user_name];
    mysql_query("INSERT INTO $tabelle (userid,username,password,email,groupcombinationid,rankid,regdate,lastvisit,lastactivity,icq,showemail,admincanemail,usercanemail,invisible,usecookies,activation,blocked,timezoneoffset,startweek,dateformat,timeformat,emailnotify,receivepm,emailonpm,pmpopup,umaxposts,showsignatures,showavatars,showimages,nosessionhash) VALUES ('$info[user_id]','$info[user_name]','$bbpw','$info[user_email]','4','4','$info[signin]','$time_now','$time_now','0','1','1','1','0','1','1','0','1','1','d.m.Y','H:i','1','1','1','1','0','1','1','1','1')",$servercon);
    
    mysql_query("INSERT INTO bb1_userfields (userid) VALUES ('$info[user_id]')",$servercon);
}

if (($info[user_name]!="guest") && ($info[user_name]=="$board[username]")) {
    if (($board[password] != $bbpw) && ($info[user_name] != "")) {
    //echo "<br>User DB Updaten<br>";
    //echo "User_name : $info[user_name]<br>";
    //echo "User_Passwort : $bbpw<br>";
    
    mysql_query("UPDATE bb1_users SET password='$bbpw',email='$info[user_email]' WHERE username='$info[user_name]'",$servercon);
    } 
    elseif ($info[user_email] != $board[email]) {
    //echo "E-Mail Updaten";
    mysql_query("UPDATE $tabelle SET email='$info[user_email]' WHERE username='$info[user_name]'",$servercon);
    }
    //else //echo "User existiert ---> Kein Update der Daten !";
}

global $myuser;
$getinfo=mysql_query("SELECT * FROM $tab_user WHERE user_name='$user_name' AND user_pw='$user_pw'"$servercon);
$info=mysql_fetch_array($getinfo);
    return $myuser;

// phpKit und wbb2.1 abgleichen Ende*/
?>


So ich denke damit könnt ihr schon was anfangen, mehr als ich in jedemfall, ich blick da mal wieder nix.
Wenn ihr mehr infos benötigt oder sonst was dann sagt bescheid.
Also irgendwo da muss ein fehler drinne sein, es wird eben kein user in die bb1_users eingetragen!
Der Hackersteller rührt sich nicht und so müsst ihr mir bitte helfen!


Gruß

Seven
»SevenofNine« hat folgende Datei angehängt:
Bevor du hier Fragen stellst, lese alle Dokumentationen und klicke die folgenden Links um mehr zu erfahren
WMW Forensuche,
WMW F.A.Q. und/oder
Allgemeine suche
 

Dabei seit: 08.12.2002

Beiträge: 1 220

 

2 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 08:35

@Seven

wo baust die die Verbindung zur Datenbank auf?
bekommst du irgendwelche Fehlermeldungen ausgegeben oder ist das ein reiner logik Fehler?

Greetz

MaxTPayne

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »maxtpayne« (5. Januar 2006, 08:35)

 

SevenofNine

Foren Gott

Dabei seit: 30.10.2002

Beiträge: 5 219

 

3 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 09:04

Fehlermeldung?Gibt es nicht!Verbindungsaufbau zur DB? Was weiss ich ich kenn mich doch nicht aus.Es ist ein fertiges script, was auch bei vielen läuft, bei vielen anderen aber nicht und ich bin einer davon.
So wenn du mir noch sagst was du noch brauchst!Es wird in zwei phpkit dateien noch wa seingefügt, in die include.php und in die start.php, steht aber auch alles in der Anleitung , habe den hack ja mit hochgeladen.

Gruß

Seven
Bevor du hier Fragen stellst, lese alle Dokumentationen und klicke die folgenden Links um mehr zu erfahren
WMW Forensuche,
WMW F.A.Q. und/oder
Allgemeine suche
 

Dabei seit: 08.12.2002

Beiträge: 1 220

 

4 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 09:16

PHP-Quelltext

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?PHP
// phpKit und wbb2.1 abgleichen Begin     '.$time_now'


// Variable Tabelle für Forum :
$tabelle "bb1_users";
$tab_user="phpkit_user";
// ENDE Variable

$pw = ("$user_pw");
$bbpw = ("$pw");

$servercon=@mysql_connect($sqlhost$sqluser$sqlpass) or die ("<html><head><meta http-equiv=\"REFRESH\" content=\"0; url=info.php?error=1\"></head><body></body></html>");
if (!mysql_select_db($database)) {header ("location: info.php?error=1"); exit();}

$getinfo=mysql_query("SELECT * FROM ".$tab_user." WHERE user_name='".$user_name."' AND user_pw='".$user_pw."'"$servercon);
$info=mysql_fetch_array($getinfo);



$board_abfrage mysql_query("SELECT * FROM bb1_users WHERE username='".$info["user_name"]."'",$servercon);
$board mysql_fetch_array($board_abfrage);
$nav_boxname "navbox.neuebeitraege.php";
$tab_navbox ="phpkit_navigationcat";
$time_box=date("d M y H:i",$board[lastvisit]);

/*
echo "board[lastvisit] : $board[lastvisit] <br>";
echo "time aus Datenabank  : 1024791717 <br>";
$time_1 = strftime("%A, %d-%m-%Y %R",'1024791717');
echo "umgewandelt : $time_1<br>";
$unix_time = time();
echo "UNIX-Zeitstempel jetzt : $unix_time<br>";
echo date("d M y H:i",'1024793792') . "<br>";


echo "<br>DATEN aus wbb2 Datenbank<br><br>";
echo "    Board_User_ID : $board[userid] ---> Board_Username : $board[username] ---> Board_UserPasswort : $board[password]";
echo "<BR>";
echo "Daten aus PhPKit<BR>";
echo "    PhpKit User Name unverschlüsselt : $info[user_name] <BR>";
echo "    PhpKit User PW unverschlüsselt  : $pw  <br>";
echo "<BR><BR>Neue Daten für Forum schreiben<BR>";
echo "    Neuer Username für Forum : $info[user_name]<BR>";
echo "    Neues Passwort für Forum : $bbpw<BR>";
echo "    USER ID PHPKIT : $info[user_id]<BR>";
echo "Board User ID +1 : $board[userid]<BR>";
*/
$box "Neue Beiträge seit $time_box";
if($user_name == "guest") {
    $box "Neue Beiträge";
    }
mysql_query("SELECT * FROM ".$tab_navbox." WHERE navigationcat_box = '".$nav_boxname."'",$servercon);
mysql_query("UPDATE ".$tab_navbox." SET navigationcat_title='".$box."' WHERE navigationcat_box='".$nav_boxname."'",$servercon);

if ($info["user_name"]!="guest" && $info["user_name"]!=$board["username"])
{
    //echo "Neuen User schreiben ".$info[user_name];
    mysql_query("INSERT INTO ".$tabelle." (userid,username,password,email,groupcombinationid,rankid,regdate,lastvisit,lastactivity,icq,showemail,admincanemail,usercanemail,invisible,usecookies,activation,blocked,timezoneoffset,startweek,dateformat,timeformat,emailnotify,receivepm,emailonpm,pmpopup,umaxposts,showsignatures,showavatars,showimages,nosessionhash) VALUES ('".$info["user_id"]."','".$info["user_name"]."','".$bbpw."','".$info["user_email"]."','4','4','".$info["signin"]."','".$time_now."','".$time_now."','0','1','1','1','0','1','1','0','1','1','d.m.Y','H:i','1','1','1','1','0','1','1','1','1')",$servercon);

    mysql_query("INSERT INTO bb1_userfields (userid) VALUES ('".$info["user_id"]."')",$servercon);
}

if ($info["user_name"]!="guest") && ($inf2o[user_name]==$board["username"])
{
    if (($board["password"] != $bbpw) && ($info["user_name"] != ""))
    {
    //echo "<br>User DB Updaten<br>";
    //echo "User_name : $info[user_name]<br>";
    //echo "User_Passwort : $bbpw<br>";

    mysql_query("UPDATE bb1_users SET password='".$bbpw."',email='".$info["user_email"]."' WHERE username='".$info["user_name"]."'",$servercon);
    }
    elseif ($info["user_email"] != $board["email"])
    {
    //echo "E-Mail Updaten";
    mysql_query("UPDATE ".$tabelle." SET email='".$info["user_email"]."' WHERE username='".$info["user_name"]."'",$servercon);
    }
    //else //echo "User existiert ---> Kein Update der Daten !";
}

global $myuser;
$getinfo=mysql_query("SELECT * FROM ".$tab_user." WHERE user_name='".$user_name."' AND user_pw='".$user_pw."'"$servercon);
$info=mysql_fetch_array($getinfo);
    return $myuser;

// phpKit und wbb2.1 abgleichen Ende*/
?>


Teste das mal bitte :)

Wegen dem Verbinungsaufbau ja der ist gegeben bin aber heute morgen ein bissel blind :(

Wenn das nicht klappen sollte melde dich nochmal ich hab das Script nur so "umgeschrieben" wie ich das machen würde.

Greetz

MaxTPayne

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »maxtpayne« (5. Januar 2006, 09:17)

 

SevenofNine

Foren Gott

Dabei seit: 30.10.2002

Beiträge: 5 219

 

5 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 10:09

Huhu,danke dir ,

Parse error: syntax error, unexpected T_BOOLEAN_AND in Pfad..... phpkit\login\glow21.php on line 64

und in Zeile 65 soll es wirklich heissen $inf2o?Selbst wenn ich das dann auf $info ändere der selbe fehler.

Gruß

Seven
Bevor du hier Fragen stellst, lese alle Dokumentationen und klicke die folgenden Links um mehr zu erfahren
WMW Forensuche,
WMW F.A.Q. und/oder
Allgemeine suche

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »SevenofNine« (5. Januar 2006, 10:10)

 

heinervdm

Technik-Admin

Dabei seit: 02.10.2002

Beiträge: 3 772

 

6 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 12:10

das soll ein $info heißen, und dann musst du den ganzen term noch in () packen, also:

PHP-Quelltext

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?PHP
// phpKit und wbb2.1 abgleichen Begin     '.$time_now'


// Variable Tabelle für Forum :
$tabelle "bb1_users";
$tab_user="phpkit_user";
// ENDE Variable

$pw = ("$user_pw");
$bbpw = ("$pw");

$servercon=@mysql_connect($sqlhost$sqluser$sqlpass) or die ("<html><head><meta http-equiv=\"REFRESH\" content=\"0; url=info.php?error=1\"></head><body></body></html>");
if (!mysql_select_db($database)) {header ("location: info.php?error=1"); exit();}

$getinfo=mysql_query("SELECT * FROM ".$tab_user." WHERE user_name='".$user_name."' AND user_pw='".$user_pw."'"$servercon);
$info=mysql_fetch_array($getinfo);



$board_abfrage mysql_query("SELECT * FROM bb1_users WHERE username='".$info["user_name"]."'",$servercon);
$board mysql_fetch_array($board_abfrage);
$nav_boxname "navbox.neuebeitraege.php";
$tab_navbox ="phpkit_navigationcat";
$time_box=date("d M y H:i",$board[lastvisit]);

/*
echo "board[lastvisit] : $board[lastvisit] <br>";
echo "time aus Datenabank  : 1024791717 <br>";
$time_1 = strftime("%A, %d-%m-%Y %R",'1024791717');
echo "umgewandelt : $time_1<br>";
$unix_time = time();
echo "UNIX-Zeitstempel jetzt : $unix_time<br>";
echo date("d M y H:i",'1024793792') . "<br>";


echo "<br>DATEN aus wbb2 Datenbank<br><br>";
echo "    Board_User_ID : $board[userid] ---> Board_Username : $board[username] ---> Board_UserPasswort : $board[password]";
echo "<BR>";
echo "Daten aus PhPKit<BR>";
echo "    PhpKit User Name unverschlüsselt : $info[user_name] <BR>";
echo "    PhpKit User PW unverschlüsselt  : $pw  <br>";
echo "<BR><BR>Neue Daten für Forum schreiben<BR>";
echo "    Neuer Username für Forum : $info[user_name]<BR>";
echo "    Neues Passwort für Forum : $bbpw<BR>";
echo "    USER ID PHPKIT : $info[user_id]<BR>";
echo "Board User ID +1 : $board[userid]<BR>";
*/
$box "Neue Beiträge seit $time_box";
if($user_name == "guest") {
    $box "Neue Beiträge";
    }
mysql_query("SELECT * FROM ".$tab_navbox." WHERE navigationcat_box = '".$nav_boxname."'",$servercon);
mysql_query("UPDATE ".$tab_navbox." SET navigationcat_title='".$box."' WHERE navigationcat_box='".$nav_boxname."'",$servercon);

if ($info["user_name"]!="guest" && $info["user_name"]!=$board["username"])
{
    //echo "Neuen User schreiben ".$info[user_name];
    mysql_query("INSERT INTO ".$tabelle." (userid,username,password,email,groupcombinationid,rankid,regdate,lastvisit,lastactivity,icq,showemail,admincanemail,usercanemail,invisible,usecookies,activation,blocked,timezoneoffset,startweek,dateformat,timeformat,emailnotify,receivepm,emailonpm,pmpopup,umaxposts,showsignatures,showavatars,showimages,nosessionhash) VALUES ('".$info["user_id"]."','".$info["user_name"]."','".$bbpw."','".$info["user_email"]."','4','4','".$info["signin"]."','".$time_now."','".$time_now."','0','1','1','1','0','1','1','0','1','1','d.m.Y','H:i','1','1','1','1','0','1','1','1','1')",$servercon);

    mysql_query("INSERT INTO bb1_userfields (userid) VALUES ('".$info["user_id"]."')",$servercon);
}

if (($info["user_name"]!="guest") && ($info[user_name]==$board["username"]))
{
    if (($board["password"] != $bbpw) && ($info["user_name"] != ""))
    {
    //echo "<br>User DB Updaten<br>";
    //echo "User_name : $info[user_name]<br>";
    //echo "User_Passwort : $bbpw<br>";

    mysql_query("UPDATE bb1_users SET password='".$bbpw."',email='".$info["user_email"]."' WHERE username='".$info["user_name"]."'",$servercon);
    }
    elseif ($info["user_email"] != $board["email"])
    {
    //echo "E-Mail Updaten";
    mysql_query("UPDATE ".$tabelle." SET email='".$info["user_email"]."' WHERE username='".$info["user_name"]."'",$servercon);
    }
    //else //echo "User existiert ---> Kein Update der Daten !";
}

global $myuser;
$getinfo=mysql_query("SELECT * FROM ".$tab_user." WHERE user_name='".$user_name."' AND user_pw='".$user_pw."'"$servercon);
$info=mysql_fetch_array($getinfo);
    return $myuser;

// phpKit und wbb2.1 abgleichen Ende*/
?>

Ich habe mir jetzt nur den Fehler angeguckt, vertrauen wir mal das maxpayne das andere problem gelöst hat ;)
Über mich: www.heinervdm.de
Persönlich Mitteilungen an mich bitte als PN (nicht Email) hier im Forum. ICQ und Skype bitte nur in Notfällen.
 

SevenofNine

Foren Gott

Dabei seit: 30.10.2002

Beiträge: 5 219

 

7 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 13:38

OK, nun gibt es keine Fehlermeldung mehr aber klappen will es immer noch nicht!
Habe mich also ausgeloggt im PHPKIT, dann auf die startseite, es wird die ****phpkit/include.php?path=start.php, es werden also die beiden dateien aufgerufen die ja laut Anleitung geändert werden sollten und die dann die glow21.php includen und auch wohl aufrufen um sie auszuführen, es passiert aber kein eintrag in die bb1_users table statt.
Bitte Männers, ihr habts drauf das weiss ich, helft mir bitte.
Ich vertrau auf euch!

Liebe Grüße (dießmal)

Seven

PS

Ich bin noch ganz aufgeregt wegen dem mist.... aber vor Freude, weil ich weiss es wird was werden.
Bevor du hier Fragen stellst, lese alle Dokumentationen und klicke die folgenden Links um mehr zu erfahren
WMW Forensuche,
WMW F.A.Q. und/oder
Allgemeine suche
 

Dabei seit: 08.12.2002

Beiträge: 1 220

 

8 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 15:48

@seven

kannst du mir ein sql dump von bb1_users und phpkit_user geben? Weil ich dann überprüfen kann ob die Querrys gescheit funktionieren und andere frage nutzt du ein wbb1 oder 2?

Greetz

MaxTPayne
 

SevenofNine

Foren Gott

Dabei seit: 30.10.2002

Beiträge: 5 219

 

9 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 17:12

Also installiert habe ich folgendes:
PHPKIT 1.6.03
WBB 2.1.5

Alles jeweils nur eine Frische installation, beim WBB habe ich ein Forum erstellt und ei paar Themen erstellt, die Navbox geschichte das klappt auch,wenn es auch dann so ist das Userberechtigungen nicht abgefragt werden, sprich also wenn ein Forum nicht für Normale User gedacht ist, ein MOD Forum z.B. dann wird im KIT dennoch ein erstelltes Thema angezeigt auch wenn der User eben keine berechtigung hat das zu sehen, aber dagen habe ich schon was gefunden.

Die Passwörter der User ist jeweils der Username, also donald ist = donald usw.

Gruß

Seven
»SevenofNine« hat folgende Datei angehängt:
  • Table.rar (2,77 kB - 18 mal heruntergeladen - zuletzt: 22. März 2012, 05:09)
Bevor du hier Fragen stellst, lese alle Dokumentationen und klicke die folgenden Links um mehr zu erfahren
WMW Forensuche,
WMW F.A.Q. und/oder
Allgemeine suche

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »SevenofNine« (5. Januar 2006, 17:13)

 

Dabei seit: 08.12.2002

Beiträge: 1 220

 

10 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 17:32

PHP-Quelltext

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?PHP
// phpKit und wbb2.1 abgleichen Begin     '.$time_now'


// Variable Tabelle für Forum :
$tabelle "bb1_users";
$tab_user="phpkit_user";
// ENDE Variable

$pw = ("$user_pw");
$bbpw = ("$pw");

$servercon=mysql_connect($sqlhost$sqluser$sqlpass) or die ("<html><head><meta http-equiv=\"REFRESH\" content=\"0; url=info.php?error=1\"></head><body></body></html>");
if (!mysql_select_db($database)) 
{
    header ("location: info.php?error=1"); 
    exit();
}
$getinfo=mysql_query("SELECT * FROM ".$tab_user." WHERE user_name='".$user_name."' AND user_pw='".$user_pw."'"$servercon);
$info=mysql_fetch_array($getinfo);



$board_abfrage mysql_query("SELECT * FROM bb1_users WHERE username='".$info["user_name"]."'",$servercon);
$board mysql_fetch_array($board_abfrage);
$nav_boxname "navbox.neuebeitraege.php";
$tab_navbox ="phpkit_navigationcat";
$time_box=date("d M y H:i",$board[lastvisit]);

/*
echo "board[lastvisit] : $board[lastvisit] <br>";
echo "time aus Datenabank  : 1024791717 <br>";
$time_1 = strftime("%A, %d-%m-%Y %R",'1024791717');
echo "umgewandelt : $time_1<br>";
$unix_time = time();
echo "UNIX-Zeitstempel jetzt : $unix_time<br>";
echo date("d M y H:i",'1024793792') . "<br>";


echo "<br>DATEN aus wbb2 Datenbank<br><br>";
echo "    Board_User_ID : $board[userid] ---> Board_Username : $board[username] ---> Board_UserPasswort : $board[password]";
echo "<BR>";
echo "Daten aus PhPKit<BR>";
echo "    PhpKit User Name unverschlüsselt : $info[user_name] <BR>";
echo "    PhpKit User PW unverschlüsselt  : $pw  <br>";
echo "<BR><BR>Neue Daten für Forum schreiben<BR>";
echo "    Neuer Username für Forum : $info[user_name]<BR>";
echo "    Neues Passwort für Forum : $bbpw<BR>";
echo "    USER ID PHPKIT : $info[user_id]<BR>";
echo "Board User ID +1 : $board[userid]<BR>";
*/
$box "Neue Beiträge seit $time_box";
if($user_name == "guest") {
    $box "Neue Beiträge";
    }
mysql_query("SELECT * FROM ".$tab_navbox." WHERE navigationcat_box = '".$nav_boxname."'",$servercon);
mysql_query("UPDATE ".$tab_navbox." SET navigationcat_title='".$box."' WHERE navigationcat_box='".$nav_boxname."'",$servercon);

if ($info["user_name"]!="guest" && $info["user_name"]!=$board["username"])
{
    //echo "Neuen User schreiben ".$info[user_name];
    mysql_query("INSERT INTO ".$tabelle." (userid,username,password,email,groupcombinationid,rankid,regdate,lastvisit,lastactivity,icq,showemail,admincanemail,usercanemail,invisible,usecookies,activation,blocked,timezoneoffset,startweek,dateformat,timeformat,emailnotify,receivepm,emailonpm,pmpopup,umaxposts,showsignatures,showavatars,showimages,nosessionhash) VALUES ('".$info["user_id"]."','".$info["user_name"]."','".$bbpw."','".$info["user_email"]."','4','4','".$info["signin"]."','".$time_now."','".$time_now."','0','1','1','1','0','1','1','0','1','1','d.m.Y','H:i','1','1','1','1','0','1','1','1','1')",$servercon);

    mysql_query("INSERT INTO bb1_userfields (userid) VALUES ('".$info["user_id"]."')",$servercon);
}

if ($info["user_name"]!="guest") && ($info["user_name"]==$board["username"])
{
    if (($board["password"] != $bbpw) && ($info["user_name"] != ""))
    {
    //echo "<br>User DB Updaten<br>";
    //echo "User_name : $info[user_name]<br>";
    //echo "User_Passwort : $bbpw<br>";

    mysql_query("UPDATE bb1_users SET password='".$bbpw."',email='".$info["user_email"]."' WHERE username='".$info["user_name"]."'",$servercon);
    }
    elseif ($info["user_email"] != $board["email"])
    {
    //echo "E-Mail Updaten";
    mysql_query("UPDATE ".$tabelle." SET email='".$info["user_email"]."' WHERE username='".$info["user_name"]."'",$servercon);
    }
    //else //echo "User existiert ---> Kein Update der Daten !";
}

global $myuser;
$getinfo=mysql_query("SELECT * FROM ".$tab_user." WHERE user_name='".$user_name."' AND user_pw='".$user_pw."'"$servercon);
$info=mysql_fetch_array($getinfo);
    return $myuser;

// phpKit und wbb2.1 abgleichen Ende*/
?>



so hab da noch ein zwei sachen geändert und dabei ist mir noch eine Frage eingefallen. Ist bei dir in der php.ini die Option register_globals=off oder on?

wenn du nicht zugriff auf die php.ini hast kannst du auch folgende PHP Datei erstellen:

PHP-Quelltext

1
2
3
4
5
6
7
<?php
    phpinfo()
?>

Greetz

MaxTPayne

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »maxtpayne« (5. Januar 2006, 17:32)

 

SevenofNine

Foren Gott

Dabei seit: 30.10.2002

Beiträge: 5 219

 

11 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 18:15

Register_Globals sind bei dem einen Space on bei nem anderen off.
Oh mann, ist das ein mist, es liegt daran, ich habe es nun mal getestet auf dem Space wo die globals auf on geschaltet sind, dort läuft das Originalscript.
Sind die globals auf off geht es nicht!
Weisst du eine möglichkeit das script auch mit Register_Globals off an den start zu bringen?

Gruß

Seven

SP

Dein code hatt in Zeile 67 wieder die Klammern im Term nicht.Oder der Term ist nicht in () so wie Heiner das schon mal verbessert hatte.

Nachtrag:

Was bedeutet on und off? bei den registern_Global?
Ich habe auf php.net was dazu gelesen aber es nicht wirklich verstanden, nur soviel wie das es eine Potenzielle Sicherheitslücke darstellt, aber wenn php als cgi betribeen wird dann doch nicht wieder usw. ich bin ein wenig verwirrt.
Bevor du hier Fragen stellst, lese alle Dokumentationen und klicke die folgenden Links um mehr zu erfahren
WMW Forensuche,
WMW F.A.Q. und/oder
Allgemeine suche

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »SevenofNine« (5. Januar 2006, 18:18)

 

Gimli

Kaiser

Dabei seit: 12.02.2003

Beiträge: 1 375

 

12 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 18:30

Zitat

Original von SevenofNine
Weisst du eine möglichkeit das script auch mit Register_Globals off an den start zu bringen?

Nachtrag:

Was bedeutet on und off? bei den registern_Global?
Ich habe auf php.net was dazu gelesen aber es nicht wirklich verstanden, nur soviel wie das es eine Potenzielle Sicherheitslücke darstellt, aber wenn php als cgi betribeen wird dann doch nicht wieder usw. ich bin ein wenig verwirrt.

So, ich erkläre dir das kurz :)

Dann kannst du das auch selbst ändern, ich müsste das Registrierungsformular haben, um das ändern zu können.

Erklärung: Man kann einem PHP-Script auf unterschiedliche Arten Informationen übermitteln. Per POST, GET, SESSION oder COOKIE. Auf diese übermittelten Werte kann man dann zugreifen.
Normalerweise macht man das wie folgt:

PHP-Quelltext

1
2
3
4
<?php
echo "Benutzername:".$_POST['name']; //Methode: POST
echo "Benutzername:".$_REQUEST['name']; //Methode: beliebig
?>

Für die Schreibfaulen ist das jetzt natürlich viel zuviel zum schreiben.

Deshalb steht für diese die Optionen register_globals zur Verfügung. Dadurch müssen sie nicht mehr $_POST['name'] benutzen, sondern die übergebenen Daten werden direkt in die Variable $name geschrieben. Dabei ist es hier egal, woher die Daten kommen (ob vom Script oder von ausserhalb), was auch die Sicherheitslücke ausmacht. Wenn register_globals eingeschaltet ist, kann eine externe Person theoretisch jede Variable in deinem Script umschreiben. Wenn die Option deaktiviert ist, werden nur diejenigen daten von aussen verwendet, welche über $_POST['name'] (oder $_GET['name'] usw) verwendet werden.

Was du jetzt tun musst, um den fehler zu beheben:
Das Formular übermittelt die Daten. Jetzt musst du rausfinden ob per GET oder POST (steht im öffnenden <form>-Tag) [oder du verwendest $_REQUEST['name']

Anschliessend, wenn du weisst, welche Daten vom Formular kommen, musst du überall im Script $name durch $_POST['name'] (bzw$_GET['name'] ersetzen.

Ich kann dir das nicht machen, weil ich die Übermittlungsmethode nicht kenne, und ich nicht genau weiss welche Variablen aus dem Formular kommen.

Ich hoffe, meine Erklärungen waren verständlich.

mfg Gimli

EDIT: Ich musste mich auch erst kurz informieren, wenn dir meine Erklärung nicht ausreicht, kannst du dir ja mal http://www.heddesheimer.de/coaching/register.html ansehen.
"Linux is evolution, not intelligent design." - Linus Torvalds

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Gimli« (5. Januar 2006, 18:32)

 

SevenofNine

Foren Gott

Dabei seit: 30.10.2002

Beiträge: 5 219

 

13 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 18:46

Gimli, danke dir!

Nun weiss ich was den Unterschied macht!Nur denke ich kann ich es dennoch nicht selber ändern,weil wenn ich das richtig sehe dann ist die Glow21.php die datei die geändert werden müsste, doch dort finde ich es ichtw as zu änder wäre, also kein $name oder ist die bezeichnung name auch frei wählbar?
Ich bring es auf dem gebiet nun absolut nicht,aber ich kan mich ja auf euch verlassen!

Gruß

Seven
Bevor du hier Fragen stellst, lese alle Dokumentationen und klicke die folgenden Links um mehr zu erfahren
WMW Forensuche,
WMW F.A.Q. und/oder
Allgemeine suche
 

Gimli

Kaiser

Dabei seit: 12.02.2003

Beiträge: 1 375

 

14 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 20:05

EDIT: Die Datei welche du ändern musst ist die welche du oben gepostet hast, denke ich (habe mir nicht angesehen wie die Datei wo eingebunden wird)

Ich werde dir ein kleines Beispiel geben.

Das folgende ist ein kleines HTML-Formular für Name und Hobby.

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
<head>
<title>Beispiel</title>
</head>
<body>

<form method="post">
Vorname: <input type="text" name="vorname"><br>
Hobby: <input type="text" name="hobby">
</form>

</body>
</html>

Da ind jetzt folgende Dinge wichtig:
Übermittlungsmethode der daten ist POST.
zwei Daten werden übertragen, eine heisst "vorname", die andere "hobby". Die Variablen heissen so, wie der Name der Input-Box lautet.

Um die Daten jetzt am Bildschirm auszugeben mit PHP, müsste folgendes Script verwendet werden.

PHP-Quelltext

1
2
3
4
5
<?php
echo "Vorname: " $_POST['vorname'];
echo "<br>";
echo "Hobby: ".$_POST['hobby'];
?>


Anmerkung 1: mit register_globals=on funktionieren auch die Variablen $vorname und $hobby.
Anmerkung 2: anstelle von $_POST kann auch $_REQUEST verwendet werden, das gilt dann für alle übertragungsmethoden (Post, Get, Cookie, Session)

Die Variablen-Namen welche du wahrscheinlich ersetzen musst dürften in etwa so lauten:
$username, $password, usw
Um die genauen Namen herauszufinden, musst du dir den HTML-Quelltext des Registrierungsformulares ansehen.

So wie ich das am Quelltext von oben sehen, dürften die Variablen so heissen:
$user_pw, $user_name
Diese müssen jetzt ersetzt werden durch: $_POST['user_pw'] und $_POST['user_name'] oder (wenn die übermittlungsmethode get ist) $_GET['user_pw'] und $_GET['user_name'] oder (wenn du es unabhängig von der übermittlungsmethode machen willst) $_REQUEST['user_pw'] und $_REQUEST['user_name']

Allerdings blicke im im Quelltext im Moment nicht so ganz durch, weswegen ich nicht sagen kann ob das alle Vaiablen sind. Scheint aber auf den ersten Blick so zu sein.

Sonst könnte ich mich Samstag des Problems annehmen (morgen habe ich wahrscheinlich keine Zeit)

mfg Gimli
"Linux is evolution, not intelligent design." - Linus Torvalds

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Gimli« (5. Januar 2006, 20:10)

 

SevenofNine

Foren Gott

Dabei seit: 30.10.2002

Beiträge: 5 219

 

15 Zum Seitenanfang

Donnerstag, 5. Januar 2006, 22:17

mh... ich denke das ging nun nach hinten los.....

Zitat


Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ....***Pfad\phpkit\login\glow21.php on line 16


Ich kann es einfach nicht.
Aber ich bin dankbar für jede weitere Hilfe, es geht ja nun erst einmal.
Aber wenn es mit Globals off laufen würde wäre es noch besser.

Gruß
Seven
Bevor du hier Fragen stellst, lese alle Dokumentationen und klicke die folgenden Links um mehr zu erfahren
WMW Forensuche,
WMW F.A.Q. und/oder
Allgemeine suche

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »SevenofNine« (5. Januar 2006, 22:17)

 

Dabei seit: 08.12.2002

Beiträge: 1 220

 

16 Zum Seitenanfang

Samstag, 7. Januar 2006, 12:32

@seven

PHP-Quelltext

1
2
3
4
5
$tab_user=$_REQUEST["tab_user"];
$user_name=$_REQUEST["user_name"];
$user_pw=$_REQUEST["user_pw"];
$tab_navbox$_REQUEST["tab_navbox"];
$tab_boxname$_REQUEST["tab_navname"];


ergänze das mal ganz am Anfang. Dann sollte das funktionieren.

Greetz

MaxTPayne
 

SevenofNine

Foren Gott

Dabei seit: 30.10.2002

Beiträge: 5 219

 

17 Zum Seitenanfang

Samstag, 7. Januar 2006, 12:54

mh, hallo!

Also ich habe das nun einfach vorne eingefügt, wird aber wohl nicht richtig gewesen sein.

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?PHP
$tab_user=$_REQUEST["tab_user"];
$user_name=$_REQUEST["user_name"];
$user_pw=$_REQUEST["user_pw"];
$tab_navbox$_REQUEST["tab_navbox"];
$tab_boxname$_REQUEST["tab_navname"]; 
// phpKit und wbb2.1 abgleichen Begin     '.$time_now'


// Variable Tabelle für Forum : 
$tabelle "bb1_users";
$tab_user="phpkit_user";
// ENDE Variable

$pw = ("$user_pw");
$bbpw = ("$pw");

$servercon=@mysql_connect($sqlhost$sqluser$sqlpass) or die ("<html><head><meta http-equiv=\"REFRESH\" content=\"0; url=info.php?error=1\"></head><body></body></html>");
if (!mysql_select_db($database)) {header ("location: info.php?error=1"); exit();}

$getinfo=mysql_query("SELECT * FROM $tab_user WHERE user_name='$user_name' AND user_pw='$user_pw'"$servercon);
$info=mysql_fetch_array($getinfo);


Dann bekomme ich folgende Fehlermeldung:

Parse error: syntax error, unexpected T_VARIABLE in ....pfad\html\phpkit\login\glow21.php on line 5


Gruß

Seven
Bevor du hier Fragen stellst, lese alle Dokumentationen und klicke die folgenden Links um mehr zu erfahren
WMW Forensuche,
WMW F.A.Q. und/oder
Allgemeine suche
 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

18 Zum Seitenanfang

Samstag, 7. Januar 2006, 13:19

Zitat

Original von maxtpayne
@seven

PHP-Quelltext

1
2
3
4
5
$tab_user=$_REQUEST["tab_user"];
$user_name=$_REQUEST["user_name"];
$user_pw=$_REQUEST["user_pw"];
$tab_navbox$_REQUEST["tab_navbox"];
$tab_boxname$_REQUEST["tab_navname"];


ergänze das mal ganz am Anfang. Dann sollte das funktionieren.

Greetz

MaxTPayne


zwei = vergessen ;)

PHP-Quelltext

1
2
3
4
5
$tab_user=$_REQUEST["tab_user"];
$user_name=$_REQUEST["user_name"];
$user_pw=$_REQUEST["user_pw"];
$tab_navbox=$_REQUEST["tab_navbox"];
$tab_boxname=$_REQUEST["tab_navname"];



jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
 

SevenofNine

Foren Gott

Dabei seit: 30.10.2002

Beiträge: 5 219

 

19 Zum Seitenanfang

Samstag, 7. Januar 2006, 16:17

Danke,nun läuft es auch bei Register_Globals = Off,

aber muss man nicht noch was aus der Date löschen(Glow21.php)?
Oder ist das script nun sicher?Oder läuft es nun halt einfach auch bei Register_Globals = Off?

Gruß

Seven
Bevor du hier Fragen stellst, lese alle Dokumentationen und klicke die folgenden Links um mehr zu erfahren
WMW Forensuche,
WMW F.A.Q. und/oder
Allgemeine suche
 

Gimli

Kaiser

Dabei seit: 12.02.2003

Beiträge: 1 375

 

20 Zum Seitenanfang

Samstag, 7. Januar 2006, 18:01

Zitat

Original von SevenofNine
aber muss man nicht noch was aus der Date löschen(Glow21.php)?
Oder ist das script nun sicher?Oder läuft es nun halt einfach auch bei Register_Globals = Off?


Ist die Glow21.php die oben gepostete Datei? in diesem falle musst du nichts löschen.

Zur Sicherheit:
Da Register_Globals off sind, können die Variablen nicht mehr von benutzern überschrieben werden. Nur diese 5 Variablen welche jetzt mit $_REQUEST "umformatiert" wurden, können durch Benutzereingaben beinflusst werden.
Da Script war sicher dadurch, dass die Globals ausgeschaltet waren. Nur hat es dadurch nicht mehr funktioniert. Die Änerdung hat jetzt wieder Eingaben zugelassen. Wenn du es so sehen willst, ist es dadurch wieder unsicherer :)

Mal Bildlich: Das Script ist ein Haus. Bei Globals = On stehen alle Fenster und Türen offen, jeder aknn verändern was er will. Bei Globals = off wurden alle Fenster und Türen geschlossen. Das wolltest du aber nicht, du wolltest ja noch einige Dinge vom Benutzer in Empfang nehmen können (Name, Passwort usw). Deshalb hast du nun 5 Fenster/bzw Türen wieder aufgemacht. Durch diese 5 Fenster kann ein angreifer dein Script aber nicht aushebeln.
Dadurch dass du $_REQUEST genommen hast, ist es egal woher die WEingaben kommen. Durch Verwendung von $_POST oder $_GET könnte man das noch verschärfen, was aber gänzlich unnötig ist.

Ums auf den Punkt zu bringen: Dein Script auf dem Server mit Globals=off ist sicherer als das auf dem Server mit Globals=on. Wir haben nur die Funktion wiederhergestellt, und dabei so wenig Türen wie möglich geöffnet.

mfg Gimli
"Linux is evolution, not intelligent design." - Linus Torvalds