server side includes (war: Web Meta Language)

Carola Kummert carola.kummert at uni-bielefeld.de
Tue Jan 18 16:44:42 CET 2005


On Tue, 2005-01-18 at 16:12 +0100, Martin Baehr wrote:
> On Tue, Jan 18, 2005 at 04:03:48PM +0100, Carola Kummert wrote:
> > unsicher ist SSI allemal. Egal was man reinholt, sobald man es
> > ungeprueft in den Context seines Angebots uebernimmt, ist die
> > Unsicherheit vorprogrammiert. 
> 
> das hat aber mit SSI nix zu tun.
> SSI bedeutet das in die html seite etwas eingebunden wird was vom server
> kommt, und nicht schon in der html seite drin ist. das muss nicht von
> einer externen quelle kommen.

stimmt. Das Einbinden externer Quellen ist nicht zwingend - und trotzdem
ist es eine Gefahrenquelle. Weil niemand garantiert, dass die
einzubindenden Quellen permanent sauber sind.

> an sonsten wäre jede sql query in php auch unsicher.

*eg* ist es ja auch. 

(so wie jede andere SQL-Query beliebiger Programmiersprache)

Was glaubst du, wieviele schoene Sachen sich per SQL-Injection und
daraus resultierendem Content machen lassen? Oder alternativ, wie schoen
man Skripte, die nicht ausreichend paranoid genug sind, dazu bringen
kann, kritische Dateien auszuliefern.

Das ist nix anderes als ein Include von Content. Nein, ich werde mich
hueten, an dieser Stelle einen der zigtausend kaputten Webserver zu
nennen, aber Google ist schon ganz hilfreich, wenn man beispielsweise
nach "php und (file oder cmd)" sucht. Und sind Systemdateien erstmal
lesbar, ist der Rest eher simpel.

Moeglichkeiten, kaputten Content auf einen Server zu bringen, gibt es
dutzende, und wenn der erstmal drauf ist und includiert wird, kann man
sich den Rest an allen fuenf Fingern ausrechnen.

Das einzige, was an dieser Stelle halbwegs beruhigt, ist ausreichend
Paranoia und Logging im Skript selbst. Immer nach der Grundregel: Alles,
was auch nur annaehernd vom User beeinflussbar ist, ist boese. Immer.
Folglich _muss_ es ueberprueft werden.

Klar, kaum einer prueft wirklich, was er aus der Datenbank zurueck
bekommt - aber da ein paar simple Plausibilitaetskontrollen eingebaut,
und schon ist man auch an der Front ruhiger. Stichwort
Webseiten-Defacement von Ende Dezember. Datenbank aufgehebelt, Daten
veraendert ... das Ergebnis hat wohl jeder hier mitbekommen. Boeswillig
haette es auch sehr viel drastischer ausfallen koennen.

Und ja, ich bin im Laufe der Zeit wirklich paranoid geworden. Je mehr
Moeglichkeiten ich kennenlerne, um Applikationen dazu zu bringen, das zu
tun, was ich will, und nicht, was der Programmierer vielleicht mal
impliziert hat, desto schlimmer wird das. Aber auch da bin ich
vermutlich nicht allein, gibt ja genuegend SysOps und Co auf der Liste,
deren taegliches Brot das Absichern der Rechner auf Systembasis ist.

So, jetzt darf ich aber erstmal ein paar Lernwillige weiter in die
Untiefen der Webprogrammierung geleiten. Ich hoffe mal, der
$Buchhaendler_des_Vertrauens freut sich gleich ueber viele Anfragen zu
Buechern ueber Sicherheit von Webapplikationen :)

*wink*
Carola 'Sammy' Kummert


-- 
Carola Kummert                 Universitaetsbibliothek Bielefeld
                                    EDV/Anwendungsprogrammierung
kummert at ub.uni-bielefeld.de                    Postfach 10 02 91
+49 521 106-4060                                 33502 Bielefeld




More information about the Linux mailing list