highlit_file und sicherheit

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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?

  • #2
    Wieso sollte das böse sein?
    Welche Sorgen plagen dich?
    Wir werden alle sterben

    Kommentar


    • #3
      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

      Kommentar


      • #4
        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!
        Wir werden alle sterben

        Kommentar


        • #5
          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

          Kommentar


          • #6
            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)

            Kommentar


            • #7
              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/
              Wir werden alle sterben

              Kommentar


              • #8
                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.

                Kommentar


                • #9
                  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?

                  Kommentar


                  • #10
                    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
                    Zuletzt geändert von ; 20.02.2009, 18:08.

                    Kommentar


                    • #11
                      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.

                      Kommentar


                      • #12
                        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

                        Kommentar

                        Lädt...
                        X