Blöde Frage: Wie generierst Du den eigentlichen Inhalt? Übergibst Du $seite o.ä. ungefiltert an irgendeine include/require Funktion?
nach Umzug zu netcup: include - Befehlt wird nicht ausgeführt
- siolein
- Erledigt
-
-
Blöde Frage: Wie generierst Du den eigentlichen Inhalt? Übergibst Du $seite o.ä. ungefiltert an irgendeine include/require Funktion?
Ja ich denke so wird es gemacht:
PHP
Alles anzeigen<?php $seite=$_GET['s']; if (isset($seite)) $seite=$seite; else $seite = "start"; require("titel.php"); require("head.php"); ?> <div style="position:absolute; top:5px; left:5px; width:900px; height:115px; background-image:url(oben.png); border-bottom:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000; border-top:1px solid #000000;"> </div> <div style="position:absolute; top:115px; left:5px; width:900px; height:37px; border-bottom:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000; border-top:1px solid #000000;"> <?php require("menu_oben.php"); ?> </div> <div style="position:absolute; top:146px; left:5px; width:900px; height:37px; border-bottom:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000; border-top:1px solid #000000;"> <?php require("menu_oben2.php"); ?> </div> <div style="position:absolute; top:179px; left:5px; width:900px; ; border-bottom:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000; border-top:1px solid #000000;"> <?php require("$seite.php"); ?> </div>
und die jeweils anzuzeigende Sete wird durch parameter s übergeben: https://chemnitz-wetter.de/index.php?s=start
so zumindest habe ich das verstanden?!
-
Das ist definitiv ein Sicherheitsproblem! Ein Angreifer kann damit jede beliebige Datei einbinden. Wenn es die PHP-Konfiguration erlaubt sogar von externen Quellen, wodurch eine Remote-Code-Execution (PHP) möglich wäre. An diese Stelle gehört mindestens ein basename() um das Schlimmste zu verhindern, noch besser eine Whitelist.
Wer hat die Seite programmiert? Der Code von dem Ding ist wirklich sehr bedenklich und sollte lieber nicht mehr verwendet werden, ohne massive Anpassungen.
-
Also so in etwa https://chemnitz-wetter.de/index.php?s=index
Immerhin wird .php angehangen - aber sowas sollte nicht so gemacht werden, da man über die Manipulation des Parameters beliebige (php)-Dateien includieren kann.
Aber ich würde jetzt persönlich erstmal sagen: Passt erstmal so; sind zumindest keine Nutzerdaten auf der Webseite. Wenn die gehackt wird, ist das "halb so schlimm"...
-
-
str_pos sollte strpos sein, sorry.
Da blickt ja kein Mensch durch bei den str-Funktionen von PHP
-