PERL
Eike Busse2 Gliederung 1.Einleitung 2.Geschichte 3.Eigenschaften/Merkmale von Perl 4.HTTP Server und Perl 5.Sicherheit 6.Perl programmieren
Eike Busse3 1. Einleitung Perl steht für „Practical Extraction and Report Language“ Larry Wall wollte eine Sprache kreieren, die … … die wichtigsten Programmierbefehlen beinhaltet … für Operationen wie „Suchen und Ersetzen“ gut geeignet ist
Eike Busse4 1. Einleitung Grund Er musste aus mehreren Log- Dateien einen Bericht verfassen Vorhandene Werkzeuge zu kompliziert
Eike Busse5 2.Geschichte JahrEntwicklung 1987Perl 1.0 (Text & Dateien) 1988Perl 2.0 (verbesserte Vers.) 1989Perl 3.0 (Netzwerkprogram.) 1991Perl 4.0 (wg. Dokumentation) 1994Perl 5.0 (Module & obj. Or.) HeutePerl 5.6.x und Perl 5.8.x HeutePerl 6.0
Eike Busse6 3.Eigenschaften/Merkmale von Perl Perl lässt Anwender sehr viel Freiheit Viele Wege führen zum Ziel Z.B. || = && = and Imperative, funktionale und objektorientierte Elemente lassen sich kombinieren Kontextsensitiv (Beispiel: Arrayzuweisungen)
Eike Busse7 3.Eigenschaften/Merkmale von Perl Perl ist einfach „Perl makes easy jobs easy and hard jobs possible“ Möglichst einfache Programmieranweisungen Perl versucht vollständig zu sein
Eike Busse8 4.HTTP Server und Perl Perl wurde nicht speziell für Web- Anwendungen konzipiert Warum ist Perl trotzdem dafür geeignet? Mächtige Funktionen für Zeichenkettenverarbeitung Mächtige Funktionen für Datei-Handling Viele Unix-spezifische Funktionen
Eike Busse9 4.HTTP Server und Perl PHP sehr populär Perl wird noch oft eingesetzt (z.B. bei amazon.com)
Eike Busse10 4.HTTP Server und Perl Serververwaltung Backups organisieren Rechnerauslastung berechnen In Dateien nach etwas suchen und ersetzen Web Anwendungen Counter Gästebuch Form-Mailer
Eike Busse11 5. Sicherheit Sicherheitsrisiko vor allem bei CGI- Skripten Schwachstellen werden zum Ein- und Ausspionieren benutzt „Defacen“ der Webseite
Eike Busse12 5. Sicherheit Schlechte Konfiguration am Beispiel des Forum Ikonboard Sicherheitslücke in Hilfe Script Programmierer haben vergessen den Punkt zu filtern $filetoopen = "$ikondir". "help/$inhelpon.dat"; $filetoopen = &stripMETA($filetoopen); open (FILE, "$filetoopen") or die "Cannot locate the required files";../../etc/passwd\0' in inhelpon.dat schreiben => /etc/passwd kann ausgelesen werden
Eike Busse13 5. Sicherheit Schutz Sicherheitsrisiken lokalisieren und eliminieren Shell Benutzung vermeiden Liste von Erlaubten Zeichen erstellen Sicherheitsfunktion namens „Taint“ aktivieren
Eike Busse14 5. Programmieren in Perl Programm wird in ASCII-Datei gespeichert Wird erst beim Ausführen von Perl- Interpreter kompiliert. Vorteil: Leicht änderbar
Eike Busse15 5. Programmieren in Perl #! /perlordner/ -Optionen Dann folgt Quellcode, z.B.: Print („Hello World“);
Eike Busse16 Quellenverzeichnis welt.de/sicherheit/prog_7.html