Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26...

26
Hacking InfoPoint 07.12.2005 Jörg Wüthrich

Transcript of Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26...

Page 1: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

Hacking

InfoPoint 07122005

Joumlrg Wuumlthrich

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 326

Anzahl Vorfaumllleincidents reported

0

20000

40000

60000

80000

100000

120000

140000

160000

Quelle wwwcertorgstatsincidents

year incidents

1988 6

1989 132

1990 252

1991 406

1992 773

1993 1334

1994 2340

1995 2412

1996 2573

1997 2134

1998 3734

1999 9859

2000 21756

2001 52658

2002 82094

2003 137529

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 426

bdquoStandardldquo-Vorgehen eines Hackers

Footprinting

Scanning

Think Time Writing Exploits

Break-In

Privilege Escalation

Stealing DataDelete evident Tracks

Installation Backdoors

Denial of Service

Quelle Hacking exposed

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 526

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 626

Session Handling

Warum Sessions HTTP-Protokoll ist zustandslos Tracking von benutzer-spezifischen Zustaumlnden

auf dem Server uumlber mehrere Requests hinweg

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 726

Session Handling

Session Identifikatoren Cookies versteckte Felder in Html-Formularen URL-Parameter (httpwwwfoocomappid=xx)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 826

Session Handling Attacken

Ziel Uumlbernahme einer fremden Benutzer-Session

durch Stehlen Erraten oder Unterschieben Arten

Session Hijacking Diebstahl der Session nach Login des Users

Session Fixation Angriff bevor sich User eingeloggt hat (Unterschieben)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 926

Session Hijacking

Abfangen Sniffing (passiv) Cross Site Scripting (XSS ndash aktiv)

Erraten Session ID generieren (da vorhersagbar)

Brute Force mechanisches Durchprobieren von

Zeichenfolgen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1026

Session Fixation

Fixation Vorgaumlngiges Festlegen der Session ID

Voraussetzungen Session uumlber URL Parameter codiert oder serverseitige Bugs damit Cookie

manipuliert werden kann Benutzer nimmt den per E-Mail verschickten

Koumlder an (Social Engineering)

Quelle httpwwwcsncch

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1126

Gegenmassnahmen Session Handling Attacken Verwendung von SSL (Sniffing) neue Session vergeben nach Login (Sniffing) Verwendung von sicheren Cookies (nur bei

Verwendung einer SSL-Verbindung schicken Sniffing)

echt zufaumlllige Session ID vergeben (Brute Force)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1326

Cross Site Scripting

Variante um Session-ID abzufangen zB wenn Sniffing nicht moumlglich (SSL)

Vorgehen Erzeugen einer Skript-Eingabe welche auf dem

Opfer-Client eine unerwuumlnschte Antwort an den Angreifer ausloumlst

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 2: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 326

Anzahl Vorfaumllleincidents reported

0

20000

40000

60000

80000

100000

120000

140000

160000

Quelle wwwcertorgstatsincidents

year incidents

1988 6

1989 132

1990 252

1991 406

1992 773

1993 1334

1994 2340

1995 2412

1996 2573

1997 2134

1998 3734

1999 9859

2000 21756

2001 52658

2002 82094

2003 137529

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 426

bdquoStandardldquo-Vorgehen eines Hackers

Footprinting

Scanning

Think Time Writing Exploits

Break-In

Privilege Escalation

Stealing DataDelete evident Tracks

Installation Backdoors

Denial of Service

Quelle Hacking exposed

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 526

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 626

Session Handling

Warum Sessions HTTP-Protokoll ist zustandslos Tracking von benutzer-spezifischen Zustaumlnden

auf dem Server uumlber mehrere Requests hinweg

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 726

Session Handling

Session Identifikatoren Cookies versteckte Felder in Html-Formularen URL-Parameter (httpwwwfoocomappid=xx)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 826

Session Handling Attacken

Ziel Uumlbernahme einer fremden Benutzer-Session

durch Stehlen Erraten oder Unterschieben Arten

Session Hijacking Diebstahl der Session nach Login des Users

Session Fixation Angriff bevor sich User eingeloggt hat (Unterschieben)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 926

Session Hijacking

Abfangen Sniffing (passiv) Cross Site Scripting (XSS ndash aktiv)

Erraten Session ID generieren (da vorhersagbar)

Brute Force mechanisches Durchprobieren von

Zeichenfolgen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1026

Session Fixation

Fixation Vorgaumlngiges Festlegen der Session ID

Voraussetzungen Session uumlber URL Parameter codiert oder serverseitige Bugs damit Cookie

manipuliert werden kann Benutzer nimmt den per E-Mail verschickten

Koumlder an (Social Engineering)

Quelle httpwwwcsncch

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1126

Gegenmassnahmen Session Handling Attacken Verwendung von SSL (Sniffing) neue Session vergeben nach Login (Sniffing) Verwendung von sicheren Cookies (nur bei

Verwendung einer SSL-Verbindung schicken Sniffing)

echt zufaumlllige Session ID vergeben (Brute Force)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1326

Cross Site Scripting

Variante um Session-ID abzufangen zB wenn Sniffing nicht moumlglich (SSL)

Vorgehen Erzeugen einer Skript-Eingabe welche auf dem

Opfer-Client eine unerwuumlnschte Antwort an den Angreifer ausloumlst

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 3: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 326

Anzahl Vorfaumllleincidents reported

0

20000

40000

60000

80000

100000

120000

140000

160000

Quelle wwwcertorgstatsincidents

year incidents

1988 6

1989 132

1990 252

1991 406

1992 773

1993 1334

1994 2340

1995 2412

1996 2573

1997 2134

1998 3734

1999 9859

2000 21756

2001 52658

2002 82094

2003 137529

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 426

bdquoStandardldquo-Vorgehen eines Hackers

Footprinting

Scanning

Think Time Writing Exploits

Break-In

Privilege Escalation

Stealing DataDelete evident Tracks

Installation Backdoors

Denial of Service

Quelle Hacking exposed

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 526

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 626

Session Handling

Warum Sessions HTTP-Protokoll ist zustandslos Tracking von benutzer-spezifischen Zustaumlnden

auf dem Server uumlber mehrere Requests hinweg

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 726

Session Handling

Session Identifikatoren Cookies versteckte Felder in Html-Formularen URL-Parameter (httpwwwfoocomappid=xx)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 826

Session Handling Attacken

Ziel Uumlbernahme einer fremden Benutzer-Session

durch Stehlen Erraten oder Unterschieben Arten

Session Hijacking Diebstahl der Session nach Login des Users

Session Fixation Angriff bevor sich User eingeloggt hat (Unterschieben)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 926

Session Hijacking

Abfangen Sniffing (passiv) Cross Site Scripting (XSS ndash aktiv)

Erraten Session ID generieren (da vorhersagbar)

Brute Force mechanisches Durchprobieren von

Zeichenfolgen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1026

Session Fixation

Fixation Vorgaumlngiges Festlegen der Session ID

Voraussetzungen Session uumlber URL Parameter codiert oder serverseitige Bugs damit Cookie

manipuliert werden kann Benutzer nimmt den per E-Mail verschickten

Koumlder an (Social Engineering)

Quelle httpwwwcsncch

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1126

Gegenmassnahmen Session Handling Attacken Verwendung von SSL (Sniffing) neue Session vergeben nach Login (Sniffing) Verwendung von sicheren Cookies (nur bei

Verwendung einer SSL-Verbindung schicken Sniffing)

echt zufaumlllige Session ID vergeben (Brute Force)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1326

Cross Site Scripting

Variante um Session-ID abzufangen zB wenn Sniffing nicht moumlglich (SSL)

Vorgehen Erzeugen einer Skript-Eingabe welche auf dem

Opfer-Client eine unerwuumlnschte Antwort an den Angreifer ausloumlst

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 4: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 426

bdquoStandardldquo-Vorgehen eines Hackers

Footprinting

Scanning

Think Time Writing Exploits

Break-In

Privilege Escalation

Stealing DataDelete evident Tracks

Installation Backdoors

Denial of Service

Quelle Hacking exposed

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 526

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 626

Session Handling

Warum Sessions HTTP-Protokoll ist zustandslos Tracking von benutzer-spezifischen Zustaumlnden

auf dem Server uumlber mehrere Requests hinweg

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 726

Session Handling

Session Identifikatoren Cookies versteckte Felder in Html-Formularen URL-Parameter (httpwwwfoocomappid=xx)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 826

Session Handling Attacken

Ziel Uumlbernahme einer fremden Benutzer-Session

durch Stehlen Erraten oder Unterschieben Arten

Session Hijacking Diebstahl der Session nach Login des Users

Session Fixation Angriff bevor sich User eingeloggt hat (Unterschieben)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 926

Session Hijacking

Abfangen Sniffing (passiv) Cross Site Scripting (XSS ndash aktiv)

Erraten Session ID generieren (da vorhersagbar)

Brute Force mechanisches Durchprobieren von

Zeichenfolgen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1026

Session Fixation

Fixation Vorgaumlngiges Festlegen der Session ID

Voraussetzungen Session uumlber URL Parameter codiert oder serverseitige Bugs damit Cookie

manipuliert werden kann Benutzer nimmt den per E-Mail verschickten

Koumlder an (Social Engineering)

Quelle httpwwwcsncch

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1126

Gegenmassnahmen Session Handling Attacken Verwendung von SSL (Sniffing) neue Session vergeben nach Login (Sniffing) Verwendung von sicheren Cookies (nur bei

Verwendung einer SSL-Verbindung schicken Sniffing)

echt zufaumlllige Session ID vergeben (Brute Force)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1326

Cross Site Scripting

Variante um Session-ID abzufangen zB wenn Sniffing nicht moumlglich (SSL)

Vorgehen Erzeugen einer Skript-Eingabe welche auf dem

Opfer-Client eine unerwuumlnschte Antwort an den Angreifer ausloumlst

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 5: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 526

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 626

Session Handling

Warum Sessions HTTP-Protokoll ist zustandslos Tracking von benutzer-spezifischen Zustaumlnden

auf dem Server uumlber mehrere Requests hinweg

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 726

Session Handling

Session Identifikatoren Cookies versteckte Felder in Html-Formularen URL-Parameter (httpwwwfoocomappid=xx)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 826

Session Handling Attacken

Ziel Uumlbernahme einer fremden Benutzer-Session

durch Stehlen Erraten oder Unterschieben Arten

Session Hijacking Diebstahl der Session nach Login des Users

Session Fixation Angriff bevor sich User eingeloggt hat (Unterschieben)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 926

Session Hijacking

Abfangen Sniffing (passiv) Cross Site Scripting (XSS ndash aktiv)

Erraten Session ID generieren (da vorhersagbar)

Brute Force mechanisches Durchprobieren von

Zeichenfolgen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1026

Session Fixation

Fixation Vorgaumlngiges Festlegen der Session ID

Voraussetzungen Session uumlber URL Parameter codiert oder serverseitige Bugs damit Cookie

manipuliert werden kann Benutzer nimmt den per E-Mail verschickten

Koumlder an (Social Engineering)

Quelle httpwwwcsncch

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1126

Gegenmassnahmen Session Handling Attacken Verwendung von SSL (Sniffing) neue Session vergeben nach Login (Sniffing) Verwendung von sicheren Cookies (nur bei

Verwendung einer SSL-Verbindung schicken Sniffing)

echt zufaumlllige Session ID vergeben (Brute Force)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1326

Cross Site Scripting

Variante um Session-ID abzufangen zB wenn Sniffing nicht moumlglich (SSL)

Vorgehen Erzeugen einer Skript-Eingabe welche auf dem

Opfer-Client eine unerwuumlnschte Antwort an den Angreifer ausloumlst

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 6: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 626

Session Handling

Warum Sessions HTTP-Protokoll ist zustandslos Tracking von benutzer-spezifischen Zustaumlnden

auf dem Server uumlber mehrere Requests hinweg

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 726

Session Handling

Session Identifikatoren Cookies versteckte Felder in Html-Formularen URL-Parameter (httpwwwfoocomappid=xx)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 826

Session Handling Attacken

Ziel Uumlbernahme einer fremden Benutzer-Session

durch Stehlen Erraten oder Unterschieben Arten

Session Hijacking Diebstahl der Session nach Login des Users

Session Fixation Angriff bevor sich User eingeloggt hat (Unterschieben)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 926

Session Hijacking

Abfangen Sniffing (passiv) Cross Site Scripting (XSS ndash aktiv)

Erraten Session ID generieren (da vorhersagbar)

Brute Force mechanisches Durchprobieren von

Zeichenfolgen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1026

Session Fixation

Fixation Vorgaumlngiges Festlegen der Session ID

Voraussetzungen Session uumlber URL Parameter codiert oder serverseitige Bugs damit Cookie

manipuliert werden kann Benutzer nimmt den per E-Mail verschickten

Koumlder an (Social Engineering)

Quelle httpwwwcsncch

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1126

Gegenmassnahmen Session Handling Attacken Verwendung von SSL (Sniffing) neue Session vergeben nach Login (Sniffing) Verwendung von sicheren Cookies (nur bei

Verwendung einer SSL-Verbindung schicken Sniffing)

echt zufaumlllige Session ID vergeben (Brute Force)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1326

Cross Site Scripting

Variante um Session-ID abzufangen zB wenn Sniffing nicht moumlglich (SSL)

Vorgehen Erzeugen einer Skript-Eingabe welche auf dem

Opfer-Client eine unerwuumlnschte Antwort an den Angreifer ausloumlst

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 7: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 726

Session Handling

Session Identifikatoren Cookies versteckte Felder in Html-Formularen URL-Parameter (httpwwwfoocomappid=xx)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 826

Session Handling Attacken

Ziel Uumlbernahme einer fremden Benutzer-Session

durch Stehlen Erraten oder Unterschieben Arten

Session Hijacking Diebstahl der Session nach Login des Users

Session Fixation Angriff bevor sich User eingeloggt hat (Unterschieben)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 926

Session Hijacking

Abfangen Sniffing (passiv) Cross Site Scripting (XSS ndash aktiv)

Erraten Session ID generieren (da vorhersagbar)

Brute Force mechanisches Durchprobieren von

Zeichenfolgen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1026

Session Fixation

Fixation Vorgaumlngiges Festlegen der Session ID

Voraussetzungen Session uumlber URL Parameter codiert oder serverseitige Bugs damit Cookie

manipuliert werden kann Benutzer nimmt den per E-Mail verschickten

Koumlder an (Social Engineering)

Quelle httpwwwcsncch

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1126

Gegenmassnahmen Session Handling Attacken Verwendung von SSL (Sniffing) neue Session vergeben nach Login (Sniffing) Verwendung von sicheren Cookies (nur bei

Verwendung einer SSL-Verbindung schicken Sniffing)

echt zufaumlllige Session ID vergeben (Brute Force)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1326

Cross Site Scripting

Variante um Session-ID abzufangen zB wenn Sniffing nicht moumlglich (SSL)

Vorgehen Erzeugen einer Skript-Eingabe welche auf dem

Opfer-Client eine unerwuumlnschte Antwort an den Angreifer ausloumlst

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 8: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 826

Session Handling Attacken

Ziel Uumlbernahme einer fremden Benutzer-Session

durch Stehlen Erraten oder Unterschieben Arten

Session Hijacking Diebstahl der Session nach Login des Users

Session Fixation Angriff bevor sich User eingeloggt hat (Unterschieben)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 926

Session Hijacking

Abfangen Sniffing (passiv) Cross Site Scripting (XSS ndash aktiv)

Erraten Session ID generieren (da vorhersagbar)

Brute Force mechanisches Durchprobieren von

Zeichenfolgen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1026

Session Fixation

Fixation Vorgaumlngiges Festlegen der Session ID

Voraussetzungen Session uumlber URL Parameter codiert oder serverseitige Bugs damit Cookie

manipuliert werden kann Benutzer nimmt den per E-Mail verschickten

Koumlder an (Social Engineering)

Quelle httpwwwcsncch

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1126

Gegenmassnahmen Session Handling Attacken Verwendung von SSL (Sniffing) neue Session vergeben nach Login (Sniffing) Verwendung von sicheren Cookies (nur bei

Verwendung einer SSL-Verbindung schicken Sniffing)

echt zufaumlllige Session ID vergeben (Brute Force)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1326

Cross Site Scripting

Variante um Session-ID abzufangen zB wenn Sniffing nicht moumlglich (SSL)

Vorgehen Erzeugen einer Skript-Eingabe welche auf dem

Opfer-Client eine unerwuumlnschte Antwort an den Angreifer ausloumlst

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 9: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 926

Session Hijacking

Abfangen Sniffing (passiv) Cross Site Scripting (XSS ndash aktiv)

Erraten Session ID generieren (da vorhersagbar)

Brute Force mechanisches Durchprobieren von

Zeichenfolgen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1026

Session Fixation

Fixation Vorgaumlngiges Festlegen der Session ID

Voraussetzungen Session uumlber URL Parameter codiert oder serverseitige Bugs damit Cookie

manipuliert werden kann Benutzer nimmt den per E-Mail verschickten

Koumlder an (Social Engineering)

Quelle httpwwwcsncch

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1126

Gegenmassnahmen Session Handling Attacken Verwendung von SSL (Sniffing) neue Session vergeben nach Login (Sniffing) Verwendung von sicheren Cookies (nur bei

Verwendung einer SSL-Verbindung schicken Sniffing)

echt zufaumlllige Session ID vergeben (Brute Force)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1326

Cross Site Scripting

Variante um Session-ID abzufangen zB wenn Sniffing nicht moumlglich (SSL)

Vorgehen Erzeugen einer Skript-Eingabe welche auf dem

Opfer-Client eine unerwuumlnschte Antwort an den Angreifer ausloumlst

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 10: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1026

Session Fixation

Fixation Vorgaumlngiges Festlegen der Session ID

Voraussetzungen Session uumlber URL Parameter codiert oder serverseitige Bugs damit Cookie

manipuliert werden kann Benutzer nimmt den per E-Mail verschickten

Koumlder an (Social Engineering)

Quelle httpwwwcsncch

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1126

Gegenmassnahmen Session Handling Attacken Verwendung von SSL (Sniffing) neue Session vergeben nach Login (Sniffing) Verwendung von sicheren Cookies (nur bei

Verwendung einer SSL-Verbindung schicken Sniffing)

echt zufaumlllige Session ID vergeben (Brute Force)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1326

Cross Site Scripting

Variante um Session-ID abzufangen zB wenn Sniffing nicht moumlglich (SSL)

Vorgehen Erzeugen einer Skript-Eingabe welche auf dem

Opfer-Client eine unerwuumlnschte Antwort an den Angreifer ausloumlst

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 11: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1126

Gegenmassnahmen Session Handling Attacken Verwendung von SSL (Sniffing) neue Session vergeben nach Login (Sniffing) Verwendung von sicheren Cookies (nur bei

Verwendung einer SSL-Verbindung schicken Sniffing)

echt zufaumlllige Session ID vergeben (Brute Force)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1326

Cross Site Scripting

Variante um Session-ID abzufangen zB wenn Sniffing nicht moumlglich (SSL)

Vorgehen Erzeugen einer Skript-Eingabe welche auf dem

Opfer-Client eine unerwuumlnschte Antwort an den Angreifer ausloumlst

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 12: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1326

Cross Site Scripting

Variante um Session-ID abzufangen zB wenn Sniffing nicht moumlglich (SSL)

Vorgehen Erzeugen einer Skript-Eingabe welche auf dem

Opfer-Client eine unerwuumlnschte Antwort an den Angreifer ausloumlst

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 13: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1326

Cross Site Scripting

Variante um Session-ID abzufangen zB wenn Sniffing nicht moumlglich (SSL)

Vorgehen Erzeugen einer Skript-Eingabe welche auf dem

Opfer-Client eine unerwuumlnschte Antwort an den Angreifer ausloumlst

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 14: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1426

Cross Site Scripting1 Angreifer fuumlgt Skript in Beitrag ein und wartet auf Opfer

2 Server schickt Website mit Skript und Session-Cookie

Hacker

Opfer

3 Skript des Angreifers leitet das Session Cookie weiter

4 Angreifer besucht Website und weist sicht mit gestohlenem Cookie aus

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 15: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1526

Cross Site Scripting

Demo Cross Site Scripting

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 16: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1626

Gegenmassnahmen Cross Site Scripting Input Output Filterung (immer beim Server

keine Javascripts im Html-Code)

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 17: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1726

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 18: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1826

SQL-Injection

Uumlbermittlung von Daten an Subsysteme Metazeichen-Problem

bdquoSELECT FROM user WHERE name= + requestgetParameter(username) + + and password= + requestgetParameter(password) +

Absicht Entwickler SELECT FROM user WHERE name=smith

AND password=smithpw

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 19: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 1926

SQL-Injection

Demo SQL-Injection

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 20: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2026

Gegenmassnahmen SQL-Injection 1048707 Input Validierung immer serverseitig 1048707 Berechtigungen separieren (versch User) 1048707 Escape von Metazeichen 1048707 Prepared Statements

select from login where user= schlecht ldquoselect from login where user=ldquo + user

1048707Stored Procedures

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 21: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2126

Encoding lt lt 3C amplt amplt ampLT ampLT amp60 amp060 amp0060 amp00060 amp000060 amp0000060 amp60 amp060 amp0060 amp00060 amp000060 amp0000060 ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c

ampx3c ampx03c ampx003c ampx0003c ampx00003c ampx000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c ampX3c ampX03c ampX003c ampX0003c ampX00003c ampX000003c

ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampx3C ampx03C ampx003C ampx0003C ampx00003C ampx000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C

ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C ampX3C ampX03C ampX003C ampX0003C ampX00003C ampX000003C x3c x3C u003c u003C

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 22: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2226

Inhalte

Rund um das Thema Hacking Angriffs-Techniken

Session Handling Cross Site Scripting (XSS)

SQL-Injection Buffer Overflow

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 23: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2326

Buffer overflow

vulnerablec

void fn(char a) char buf[100] strcpy(buf a)

main (int argc char argv[]) fn(argv[1]) printf(the endn)

------

gtgt vulnerable AAAAAAAAAAAAAAA

buf[100]AAAAAAAAAAAAAAA0hellip

SFP 0xhellipRET 0xhellip

char a char a

Abbildung fn auf dem Stack

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 24: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2426

Buffer overflow

Ziele Kontrolle uumlber

Instruction Pointer erlangen

Instruction Pointer auf Angreifer-kontrollierten Speicherbereich zeigen lassen

NOP Slide

Shellcode

SFPRET 0xbffffb70

char a char a

buf[100]

NOP Slide

Abbildung mit Buffer overflow

0xbfffffb50

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 25: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2526

Gegenmassnahmen Buffer overflow Attacken Pruumlfen ob Zielspeicher Platz fuumlr Source-

String hat (zB strncpy(buf param sizeof(buf))

wenn moumlglich Sprachen verwenden welche automatische Bereichsuumlberpruumlfungen durchfuumlhren (Perl Python Java hellip)

patchen patchen patchen

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7

Page 26: Hacking InfoPoint 07.12.2005 Jörg Wüthrich. 07.12.2005 Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.

07122005 Infopoint - Hacking - Joumlrg Wuumlthrich 2626

Referenzen

httpwwwowasporg - Open Web Application Security Project WebGoat Lehr-Applikation zum Verstehen und Ausprobieren von Sicherheitsluumlcken

httpwwwcertorg - Carnegie Mellon Universitys Computer Emergency Response Team

httpwwwoxidit - Hacker Tool Cain amp Abel (waumlre bdquounguumlnstigldquo wenn dieses auf einem Geschaumlfts-PC gefunden wuumlrde)

httpwwwcsncch - Firma welche auf Security Assessments und forensische Untersuchungen spezialisiert ist -gt diverse Papers mit leicht verstaumlndlichen Erklaumlrungen

httpwwwhackingexposedcom - Companion Website zu einem Buch rund ums Hacking

httpwwwheisedesecurityartikel37958 - Buffer overflow (in Deutsch) httpwwwsansorgrrwhitepaperssecurecode386php - Buffer overflow

(detailliert in Englisch) Sicherheitsrisiko Web-Anwendung ndash Wie Webprogrammierer Sicherheitsluumlcken

erkennen und vermeiden ISBN 3-89846-259-3 The art of intrusion ndash von Kevin Mitnick weltweit bekannter ehemaliger Hacker

spezialisiert auf Social Engineering ISBN 0-76456-959-7