| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

20-02-2009, 15:54
|
|
Peacie
Registrierter Benutzer
|
|
Registriert seit: Nov 2003
Beiträge: 341
|
|
highlit_file und sicherheit
huhu,
ich benutze in einem eigenen templatesystem einen PHP tag, der mit highlight_file arbeitet.
diese option ist im moment nur auf meiner eigenen seite aktiv, also kann man damit keinen schindluder betreiben
trotzdem nun die frage, wie verhindere ich am sinnvollsten, das jemand auf die idee kommt, in einem template ein böses
{php:1}includes/config.inc.php{/php:1}
einfügt.
Müsste ich das mit regexp rausfiltern oder hab ich irgendwo ne sicherheitsoption für solche fälle?
|

20-02-2009, 16:28
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Wieso sollte das böse sein?
Welche Sorgen plagen dich?
|

20-02-2009, 16:33
|
|
Peacie
Registrierter Benutzer
|
|
Registriert seit: Nov 2003
Beiträge: 341
|
|
grundsätzlich plagt mich grad ein hungergefühl, aber das ist wol ot
bei offenen systemen wo user halt artikel schreiben können, könte jemand auf die idee kommen, in seinem artikel aus spaß oder böswilligkeit den genannten tag reinschreiben.
das hätte ja zur folge, das highlight_file den inhalt der config.ic.php in seinem artikel ausgeben würde.
dumm nur wenn dort zugangsdaten definiert sind :P
ist auf meinem system nicht so, aber es würde mich halt interessieren, ob das "schützbar" ist
|

20-02-2009, 16:55
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Zitat:
|
das hätte ja zur folge, das highlight_file den inhalt der config.ic.php in seinem artikel ausgeben würde.
|
*Korrektur*
Dann solltest du das komplett verhindern!
|

20-02-2009, 16:58
|
|
kuddeldaddeldu
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Beiträge: 437
|
|
Hi,
warum sollte man auf einem "offenen System" einen Tag zur Verfügung stellen, der überhaupt irgendeine Datei vom Server ausliest und darstellt? Warum benutzt Du da nicht highlight_string?
LG
|

20-02-2009, 17:11
|
|
Peacie
Registrierter Benutzer
|
|
Registriert seit: Nov 2003
Beiträge: 341
|
|
naja, ich benutze es auf einem geschlossenen.
allerdings gehts auch eher ums prinzip.
es ist etwas einfacher codeschnipsel mit higlight_file anzuzeigen.
theorie:
man lässt user artikel verfassen, in dem sie auch code unterbringen können. diesen code können sie auf den server laden (natürlich mit einer endung gespeichert, die nicht ausführbar ist). den hochgelandenen code kann man halt mit so einem tag anzeigen lassen.
wenn ich den user seinen code direkt in den bericht eingeben lasse , hätte ich sicher ne menge mehr zu prüfen (denke ich)
|

20-02-2009, 17:16
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Zitat:
|
wenn ich den user seinen code direkt in den bericht eingeben lasse , hätte ich sicher ne menge mehr zu prüfen (denke ich)
|
Denke ich nicht!
Hier im Forum tuts das doch auch!
Am Rande: http://qbnz.com/highlighter/
|

20-02-2009, 17:24
|
|
Peacie
Registrierter Benutzer
|
|
Registriert seit: Nov 2003
Beiträge: 341
|
|
ok, danke für die infos.
die workarounds sind mir bekant, allerdings war es eine theoretische frage.
ich denke mich mal selber noch in das thema ein, man könne ja den pfad/dateinamen den der user angibt auch splitten und damit ne verzeichnissprüfung machen.
|

20-02-2009, 17:47
|
|
kuddeldaddeldu
Registrierter Benutzer
|
|
Registriert seit: Sep 2006
Beiträge: 437
|
|
Zitat:
Original geschrieben von Peacie
allerdings gehts auch eher ums prinzip.
es ist etwas einfacher codeschnipsel mit higlight_file anzuzeigen.
|
Was soll daran einfacher sein, als mit highlight_string?
|

20-02-2009, 18:05
|
|
Peacie
Registrierter Benutzer
|
|
Registriert seit: Nov 2003
Beiträge: 341
|
|
ok, das ganze nochmal
THEORIE
der user hat einen artikel verfasst, möchte seinen code präsentieren.
nun kannst du
a: seinen code in ein textfeld eingeben lassen, das überprüfst du (natürlich unabhängig des berichtes, weil in dem andere tags bbcode ähnlich vorhanden sind). den ganzen code speicherst du gesondert vom bericht irgendwo, irgendwie.
b: der user schreibt seinen bericht, du lässt ihn seinen code als file hochladen..... fertig
ich selber arbeite in meinem internen system mit variante b. weils halt einfacher ist.
es kann ja auch durchaus sein, das in einem artikel mehrere codescnipsel vorkommen.
Text Text
{php:1}schnipsel/user/1/db.schnipsel{/php:1}
Nochn Text
{php:2}schnipsel/user/1/ausgabe.schnipsel{/php:2}
aber wie gesagt, es ging mir (und geht immer noch) nur um die theorie, ob die file variante schützbar ist.
nicht ob alternativen da sind.....
EDIT: da fällt mir grad ein, das man in der file variante zum beispiel recht simpel die dateien als download anbieten kann und ja... ich weiss das das auch mit der stringvariante funktioniert, wobei ich ja dann ein file erstellen muss
Geändert von Peacie (20-02-2009 um 18:08 Uhr)
|

20-02-2009, 21:04
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Es ist doch hoffentlich so, dass User nur selbst hochgeladene Dateien per highlight_foo ausgeben dürfen. Und weiterhin ist es hoffentlich so, dass alle hochgeladenen Dateien in einem bestimmten Verzeichnis liegen. Also brauchst du beim Expandieren des highlight-Tags nur den Pfad zu diesem Verzeichnis voranstellen und gegen die üblichen Pfad-Exploits wie ../ absichern. Da bei highlight_file() die Datei nur gelesen, aber nicht ausgeführt wird, ist die Funktion an sich nicht gefährlich.
|

20-02-2009, 23:45
|
|
Peacie
Registrierter Benutzer
|
|
Registriert seit: Nov 2003
Beiträge: 341
|
|
juhu, du hast mir das brett vorm kopf entfernt, danke
es ist so simpel wie du sagst.. :/ den pfad einfach dem higlight vorausschicken.
wie gebremst muss man sein das man sich so ne frage dann nciht selber beantworten kann.
ich brauch urlaub..
danke sehr
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|