Du bist hier: Seitenreport Forum Security Sicherheitslücken PST 1 | Quelltext nicht mit Variablen übergeben
PST 1 | Quelltext nicht mit Variablen übergeben
| Verfasst am: 08. 06. 2011 [09:17] | |||
philosapiens Dabei seit: 19.09.2010 Themenersteller ![]() 53 Beiträge | Beitrag hilfreich? | ||
| PHP-Sicherheits Tutorial Teil 1 | Quelltext nicht mit Variablen übergeben Hallo zusammen, sorry, dass ich das Thema ( http://www.seitenreport.de/forum/beitraege/sicherheitsluecken/hacken_lernen_zum_testen_der_eigenen_seiten/seite/3.html#pid26023 ) zwar angestoßen habe, aber dann solange nix dazu schrieb. Hier nun mein erster Beitrag in dieser Reihe. Quelltext nicht mit Variablen übergeben Wenn man in einer PHP-Datei mit bestimmten Bedingungen einen Quelltext ausgeben möchte, dann kann man das auf die unterschiedlichste Weise. Bisher habe ich meist aus Faulheit folgendes Konstrukt angewand: PHP $anzeige =''; // erste Definition der Variable §anzeige
if ($wert === 1) {
$anzeige='<p>Der Wert stimmt.</p>';
}
else $anzeige ='';
echo $anzeige;Da ich nun HTML in der Variable übergebe, kann ich leider auch nicht die Variable gegen einschleusbaren HTML-Code sichern. Wenn ich aber das selbe ohne HTML in den Variablen schreibe, wäre diese auch sicher prüfbar. PHP $anzeige =''; // erste Definition der Variable §anzeige
if ($wert === 1) {
$anzeige='Der Wert stimmt.';
}
else $anzeige ='';
if (!empty($anzeige)) {
echo '<p>'.htmlspecialchars ($anzeige).'</p>';
}Das Ergebnis sollte das selbe sein, nur kann ich hier die Variable $anzeige sicher übergeben. Siehe: http://de.php.net/manual/de/function.htmlspecialchars.php Stimmt das soweit? Habt Ihr da andere, bessere Wege? Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden. Hier mein Versuch der Webseitenerstellung: http://idealseiten.de | |||
| Verfasst am: 08. 06. 2011 [11:09] | |||
Ultima Dabei seit: 09.07.2010 ![]() 759 Beiträge | Beitrag hilfreich? | ||
| Ich versteh dein Problem nicht? Ich speicher grundsätzlich HTML Quelltext in Variablen, bei Template Systemen geht das auch nicht anders. Entscheident ist wo der Inhalt von $anzeige her kommt und dort muss validiert werden. Gruß Ultima [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 08.06.2011 um 11:10.] Mein Portal: Ultima-Project.net - Gold für alle | |||
| Verfasst am: 08. 06. 2011 [11:22] | |||
joerg Dabei seit: 09.06.2009 ![]() 1540 Beiträge | Beitrag hilfreich? | ||
| Hallo Dein jetziges Beispiel würde ich auf diese Zeile reduzieren. Warum noch eine Variable an dieser Stelle herreinnehmen wenn nichts weiter damit passiert. PHP if ($wert === 1) {echo '<p>Der Wert stimmt.</p>';}Unklar ist momentan, wo die andere Variable initiiert wird und ob sie an der Stelle schon existiert und den Wert überhaupt annehmen kann. Selbst wenn man an der Stelle mit unbekannten Variablen arbeitet, weiss ich jetzt nicht ob es nicht besser wäre isset statt empty zu verwenden. http://php.net/manual/de/function.isset.php Zumindest würde ich mir überlegen ob die else Anweisung in deinen Beispielen Sinn macht. htmlspecialchars stellt noch einige Parameter zur Verfügung die man anwenden könnte, wenn es wichtig ist. Gruß Jörg | |||
| Verfasst am: 08. 06. 2011 [12:09] | |||
Matthes Dabei seit: 08.05.2010 ![]() 174 Beiträge | Beitrag hilfreich? | ||
| Dein erstes Beispiel ist bereits "sicher", bzw. es ist nicht unsicher. Höchstens die Abfrage von $wert könnte zu Problemen führen, wenn register_globals on ist. Ansonsten ist $anzeige aber nicht zu verändern, denn Du überschreibst mögliche eingeschleuste Inhalte ja. Das Beispiel ist in meinen Augen völlig unpassend... Mal: "May have been the losing side. Still not convinced it was the wrong one." | |||
| Verfasst am: 08. 06. 2011 [14:14] | |||
romacron Dabei seit: 01.11.2009 ![]() 1143 Beiträge | Beitrag hilfreich? | ||
| da stimme ich Mattes vollkommen zu, das macht keinen Sinn! die Ausgabe von "der Wert stimmt" sollte an sich nicht das Problem sein. intern musst du nicht schauen ob $anzeige html tags hat oder nicht. du hast die Variable selbst erstellt und gefüllt. Auf die $anzeige gibt es von aussen keinen Zugriff Wichtiger ist hier die variable $wert. Diese wird ausreichend validiert, da sie auch die Typenunterscheidung (int) und 1 hat. dies ist ein Unterschied zu ( $wert === "1" ) hier wird $wert geprüft ob es 1 ist und ein (string).... ..was hattest du genau vor? | |||
| Verfasst am: 09. 06. 2011 [00:02] | |||
UFOMelkor Dabei seit: 20.10.2009 ![]() 348 Beiträge | Beitrag hilfreich? | ||
| Ich denke, was er eigentlich meinte ist folgendes: PHP <?php $content = $_GET['content']; $content = '<p>' . $content . '</p>'; print $content; //htmlspecialchars ist nun nicht mehr möglich, da auch das p-Tag maskiert werden würde.?> So funktioniert es: PHP <? $content = $_GET['content']; $content = htmlspecialchars($content); print '<p>' . $content . '</p>'; ?> P.S: Das Syntax-Highlighting für PHP funktioniert nicht richtig. | |||
Du bist nicht eingeloggt. Bitte beachte, dass Du eingeloggt sein musst, um Themen zu erstellen oder auf Beiträge zu antworten.
Werde in Echtzeit über neue Foren-Beiträge informiert:
8 Mitglieder waren innerhalb der letzten 15 Minuten online (76 heute gesamt):
Hamsi1979, jbx, kiza72, masa8, presse, snowreporter, tester012, webmagie
Administratoren und Moderatoren:
[keine]
Seitenreport hat 18155 registrierte Mitglieder, 3003 Themen und 29112 Beiträge.
Der aktuelle Mitgliederzuwachs liegt bei durchschnittlich 13 bestätigten Neuregistrierungen pro Tag.
Pro Tag werden im Seitenreport Forum durchschnittlich 1 neues Thema und 7 Beiträge erstellt.
Die Durchschnittszahlen berechnen sich aus den letzten 7 Tagen.

Lade...
Neueste Foren-Beiträge
| Abstimmung: 20.000 Mitglieder Jubiläum - was tun? Internes & Ankündigungen / Internes | Gestern [23:07] | |
| Microsofts soziales Netzwerk So.cl Internet / News | Gestern [20:03] | |
| Nicht nachvollziehbarer CSS Fehler Internes & Ankündigungen / Analyse-Ergebnisse | Gestern [13:37] | |
| Partnerprogramm: Eintrag für Kunden erledigt Internes & Ankündigungen / Internes | 22. 05. 2012 [10:35] | |
| Hotelbericht Entwickler Treffpunkt / Website vorstellen | 22. 05. 2012 [09:28] |
Lade...
Aktuelle Artikel:
Facebook - eine neue Tech-Blase?
Facebook ist in den vergangenen Tagen wegen seines Börsenganges und den dabei eingefahrenen Investorengeldern von 16 Milliarden Dollar großflächig in die Kritik geraten. Der Marktwert von 104 Milliarden Dollar wird von vielen als maßlos übertrieben angesehen. Ist Facebook eine neue Internet-Blase, die in den nächsten Jahren platzen wird?
Suchmaschinenoptimierung seit dem Google Penguin Update
Das neue Update vom Branchenriesen Google wird in Seo-Kreisen gerne mit einem Erdbeben verglichen. Diese Metapher trifft die Sachlage sehr gut, denn der Pinguin bringt die Arbeitsfundamente der Suchmaschinenoptimierer gehörig ins Wanken.
Tipps für den guten Start ins Business
Sich selbstständig machen, eine Firma gründen und direkt ins eigenständige Berufsleben einzusteigen klingt spannend und irgendwie auch einfach. Doch einfach ist es ganz und gar nicht...
Facebook - eine neue Tech-Blase?
Facebook ist in den vergangenen Tagen wegen seines Börsenganges und den dabei eingefahrenen Investorengeldern von 16 Milliarden Dollar großflächig in die Kritik geraten. Der Marktwert von 104 Milliarden Dollar wird von vielen als maßlos übertrieben angesehen. Ist Facebook eine neue Internet-Blase, die in den nächsten Jahren platzen wird?
18. Mai 2012
Suchmaschinenoptimierung seit dem Google Penguin Update
Das neue Update vom Branchenriesen Google wird in Seo-Kreisen gerne mit einem Erdbeben verglichen. Diese Metapher trifft die Sachlage sehr gut, denn der Pinguin bringt die Arbeitsfundamente der Suchmaschinenoptimierer gehörig ins Wanken.
15. Mai 2012
Tipps für den guten Start ins Business
Sich selbstständig machen, eine Firma gründen und direkt ins eigenständige Berufsleben einzusteigen klingt spannend und irgendwie auch einfach. Doch einfach ist es ganz und gar nicht...
14. Mai 2012





