|
Wenn Dateien zum Schreiben eröffnet werden, bestehen
ebenfalls Risiken,
| |||||||
Eine typische Falle kann hier die Mächtigkeit der
Syntax bei Dateieröffnungen darstellen. Während
my $out = new IO::File $filename
recht harmlos aussieht, wird dies zum idealen Angriffspunkt, wenn
beispielsweise $filename am Ende ein Pipeline-Zeichen erhalten
kann oder wichtige Systemdateien (wie z.B. /etc/passwd)
bedroht werden können.
| |||||||
Selbst wenn auf $filename kein Einfluß ausgeübt werden
kann, kann das Anlegen temporärer Dateien in öffentlichen
Verzeichnissen (z.B. /tmp) zur tödlichen Falle werden,
wenn dort der Angreifer zuvor einen symbolischen Verweis auf
/etc/passwd für den zu erwartenden Dateinamen hinterließ.
| |||||||
Natürlich sind auch viele weitere Systemaufrufe gefährlich
wie z.B. mkdir, chmod, chown usw.
|
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003 |