Moin Moin, Am Samstag, 6. April 2002 12:46 schrieb Ratti:
David Haller: Ganz sicher will ich den nicht verwenden.
Oh doch. Gerade bei cgis!!!
Oh Nein. Gerade da nicht. ;-)
Zitat von Larray Wall aus Programmieren mit Perl 3.Ausgabe: "Wenn Sie ihre CGI-Skripten aber nicht im Taint-Modus ausführen, verzichten Sie unnötig auf den größten Schutz, den Perl Ihnen bieten kann." [...]
Das verstehe ich inzwischen, es deckt sich mit einer Anmerkung aus perlsec:
Perl automatically enables a set of special security checks, called taint mode, when it detects its program running with differing real and effective user or group IDs.
Heisst im Klartext: -T ist per default aktiviert!
Besser ist es trotzdem "-T" zu verwenden:)
Deswegen ging mein Script auch nicht auf Anhieb.
Die Situation ist die, daß es sich um _ausschliesslich_ meinen Server handelt. Niemand anders packt da Scripte drauf als ich, und jede Einschränkung stört mich.
Offenishctlich ist also der Taint-Modus aktiv, und das will ich nicht. Weisst du /jemand, wie man das loswird?
Warum? Wer im 21. Jahrhundert nicht an die Sicherheit denkt, wird nix mehr! SCNR
Ich will in meinen cgi's einschränkungslos alles amchen können, was ich auch tun kann, wenn ich mich per ssh zu root hochge-su'ed habe.
sudo ?
Eben. Und genau deswegen sollten die cgis sicher programmiert sein, und genau dabei hilft -T (und strict). Sonst kann einer a la Nimda daherkommen und dann als root was ausfuehren...
ACK, siehe BugTraq!
Das ausbrechen aus dem Pfad (Nimda) verhindert Apache. Die Sicherheit meiner Scripte möchte ich gerne selbst implementieren, ohne daß das System mir Knüppel vor die Füße wirft.
Warum dann keinen Taint-Modus, der nimmt Dir doch 'ne Menge ab??
Ich bin in der Hinsicht ziemlich geschädigt. Ich habe massenweise Projekte über Bord werfen dürfen, die fast fertig waren, weil sich irgendwann an einer eigentlich nebensächlichen Stelle herausstellte, daß irgendwas, was in der Bash geht, cgis wieder nicht erlaubt ist. Das hört auf. ;-)
Was kannst Du den nicht machen mit dem Taint Modus?
use strict;
Ne, das nörgelt mir zuviel an.
Aus gutem Grund!!!
Nö. Variablendeklaration und -initialisierung und dergleichen will ich im 21. Jahrhundert nicht mehr sehen, das hat mein Interpreter/Compiler zu erledigen.
Hmm, Java z.B. ist eine der neusten Sprache (auch, wenn ich C++ besser finde!!). Selbst dort mußt Du variablen deklarieren und initialisieren. Übrigens muß jede Variable irgendwann mit etwas initialisiert werden, oder habe ich da etwas verpaßt!?
Wer einmal BASIC gelernt hat, aus dem wird nix rechtes mehr. ;-)
Ja, aber nur wenn er nichts neues lernt:) Ein schönes Wochenende allen. ByE Andre