BS-Fusion Deutschland

Sicherheit für das Portal

Surftips
BS-Fusion Deutschland - Diskussionsforum
Benutzername
Passwort

Thema ansehen
BS-Fusion Deutschland > Support - Eigene Infusionen
->> Security System
Vorheriges Thema Nächstes Thema

 
Autor Problem mit einer meiner Infusion   1  # 5  top
Gelöschter User
Eingetragen am 04.03.2009 15:34
Hallo,

und zwar probiere ich mich seit einiger Zeit an php. So hab ich schon eine Witze Datenbank und jetzt auch ein FTG Game Menü erfolgreich gecodet, wie man so schön sagt.

Nun habe ich allerdings ein Problem mit dem FTG Game Menü. Es funktioniert alles Prima, allerdings gibt es ein Problem mit dem Security System.

Wenn ich als Administrator einen Link aus dem Game Menü aufrufe, sei es Mindmaster oder Deal it or Leae it, dann kann ich ganz normal spielen. Gehe ich aber als Gast oder Mitglieder über das Game Menü dort hinein, wird mir angezeigt das ich versuche einen Hackangriff durchzuführen und das Mitglied wird gesperrt.

Ich hab mal die PHP-datei hier mit angebunden. Vermuten tuhe ich das es an diesem "header..." liegt. Aber ich weiss echt nicht warum der denkt das die Seite angegriffen wird.

Würde mich wirklich sehr freuen wenn du mir bei meinem Problem helfen könntest.

Code

error_reporting(E_ALL & ~E_NOTICE);

// Check if locale file is available matching the current site locale setting.
if (file_exists ( INFUSIONS . "ftg_game_menu/locale/" . $settings ['locale'] . ".php" )) {
// Load the locale file matching the current site locale setting.
include INFUSIONS . "ftg_game_menu/locale/" . $settings ['locale'] . ".php";
} else {
// Load the infusion's default locale file.
include INFUSIONS . "ftg_game_menu/locale/German.php";
}

opentable($locale['ftg_page01']);

$url = addslashes($_GET['url']);

$result = dbquery("UPDATE ".DB_PREFIX."game_menu SET game_count = game_count + 1 WHERE game_url = '$url'");

header("Location: ". $_GET['url']);

$result = dbquery("SELECT * FROM ".DB_PREFIX."game_menu");
echo "<br /><br />";
while($data = dbarray($result)){
echo "<center><table align='center' cellspacing='1' cellpadding='1' width='100%'>";
echo "<tr><td align='center' width='70%' class='tbl2'><a href='".FUSION_SELF."?url=".$data['game_url']."'><strong>".$data['game_title']."</strong></a></td>";
echo "<td align='center' width='30%' class='tbl1' rowspan='3'>";

if ($data['game_img'] == "_null.png") {
echo "<img src='".INFUSIONS."ftg_game_menu/images/no_picture.png'>";
} else {
echo "<img src='".INFUSIONS."ftg_game_menu/images/icons/".$data['game_img']."'>";
}

echo "</td></tr>";
$text = $data['game_desc'];
$desc = wordwrap($text, 60, "\n", true);

echo "<tr><td align='center' width='70%' class='tbl1'><i>$desc</i></td></tr>";
echo "<tr><td align='center' width='70%' class='tbl2'><strong>".$data['game_count']." Hit`s</strong></td></tr>";
echo "</table></center><br />";
}
echo "<br /><br />";
closetable();
 
Autor RE: Problem mit einer meiner Infusion   2  # 5  top
Silvermoon
Webmaster


User Avatar



Beiträge: 698

Ort: 72270 Baiersbronn
Eingetreten: 26.06.06
Status: Offline
Eingetragen am 05.03.2009 15:18
Problem ist, wenn eine http: // oder einfach nur ../ in einer _GET-Variable sind, dann blockiert das System dies sofort für Gäste und Mitglieder.

Als Superadmin ist man davor befreit.

die Lösung:

du wandelst vor dem Übergeben via get die url per base64_encode ind einen codierten String und bei der Auswertung der $url wieder in die Ausgangsform zurück:

Da ich nicht weiß wie die Übergabe gemacht wird, kann ich dir den Schritt für base64_encode hier nicht schreiben, sondern nur den für das Decodieren

$url = addslashes(base64_decode($_GET['url']));


Es ist alles eine Frage der Überarbeitung
BS-FUSION - KEEP IT SIMPLE
Content Management System Support
Bearbeitet von Silvermoon am 05.03.2009 15:18
http://www.bs-fusion.de  
Autor RE: Problem mit einer meiner Infusion   3  # 5  top
Gelöschter User
Eingetragen am 05.03.2009 16:48
Hallo Silvermoon,

danke erstmal für deine Hilfe.

Ich hab das jetzt schon mal probiert. Allerdings ist das doch etwas kompliziert. Irgendwie verschlüsselt er das zwar aber so wirklich weiterleiten tut er nicht

Und zwar spielt sich das ganze ja so ab:
----------------------------------------------------------

Man klickt auf diesen Link
Code

<a href='".FUSION_SELF."?url=".$data['game_url']."'>


Und dann wird das ganze hier umgewandelt und man gelangt zur Seite:
Code

$url = addslashes(base64_decode($_GET['url']));

$result = dbquery("UPDATE ".DB_PREFIX."game_menu SET game_count = game_count + 1 WHERE game_url = '$url'");

header("Location: ". $_GET['url']);


Hab schon versucht das hier so zu machen, damit:
Code

$str = $data['game_url'];
echo base64_encode($str);

-> Aber das ist halt bisschen blöd dort an die Stelle einzutragen, wo der HTML-Code gerade dort mit dem a href ist.
 
Autor RE: Problem mit einer meiner Infusion   4  # 5  top
Silvermoon
Webmaster


User Avatar



Beiträge: 698

Ort: 72270 Baiersbronn
Eingetreten: 26.06.06
Status: Offline
Eingetragen am 05.03.2009 17:14
Zitat
ObiWan schrieb:
Man klickt auf diesen Link
[code]
<a href='".FUSION_SELF."?url=".$data['game_url']."'>
[/code]


deinen Codeausschnitte mit meinem ändern

Code

<a href='".FUSION_SELF."?url=".base64_encode($data['game_url'])."'>



Es ist alles eine Frage der Überarbeitung
BS-FUSION - KEEP IT SIMPLE
Content Management System Support
http://www.bs-fusion.de  
Autor RE: Problem mit einer meiner Infusion   5  # 5  top
Gelöschter User
Eingetragen am 05.03.2009 20:20
Danke hast mir sehr geholfen. Funktioniert jetzt.
 
 
Springe zu Forum:
Ähnliche Themen wie "Problem mit einer meiner Infusion" [41]
Thema Forum Antworten Letzter Beitrag
SecSys wird unter Infusion nicht angezeigt Security System 0 13.06.2016 11:29 von rkdackel
Von PHP-Fusion zu BS-Fusion ! Offtopic 1 28.06.2012 21:41 von Janilein
[gelöst] SecSys und PHP-Fusion 7.02 Security System 13 29.04.2012 17:14 von
Ban bei Suchfunktion (Fusion v7.00.07/SecSys 1.9.0 Security System 2 25.02.2012 17:08 von
PHP Fusion 7.01 Security System 1 15.10.2011 23:16 von Janilein
Weitere ähnliche Themen wie "Problem mit einer meiner Infusion"
Thema verlinken
URL:
BB-Code:
HTML: