splatana-siec.-przewodnik-po-bezpieczenstwie-nowoczesnych-aplikacji-www scan.pdf

(23834 KB) Pobierz
887610431.001.png
Spis treci
WSTP 15
Podzikowania ...........................................................................................................................17
1
BEZPIECZESTWO W WIECIE APLIKACJI WWW 19
Podstawy bezpieczestwa informacji ........................................................................................19
Flirtowanie z rozwizaniami formalnymi ............................................................................20
Zarzdzanie ryzykiem ........................................................................................................22
Owiecenie przez taksonomi ...........................................................................................24
Rozwizania praktyczne .....................................................................................................26
Krótka historia sieci WWW ........................................................................................................27
Opowieci z epoki kamienia: 1945 do 1994 ......................................................................27
Pierwsze wojny przegldarek: 1995 do 1999 ....................................................................30
Okres nudy: 2000 do 2003 ................................................................................................31
Web 2.0 i drugie wojny przegldarek: 2004 i póniej ........................................................32
Ewolucja zagroe .....................................................................................................................34
Uytkownik jako problem bezpieczestwa .......................................................................34
Chmura, czyli rado ycia w spoecznoci ........................................................................35
Rozbieno wizji ...............................................................................................................36
Interakcje midzy przegldarkami: wspólna poraka .........................................................37
Rozpad podziau na klienta i serwer ...................................................................................38
CZ I: ANATOMIA SIECI WWW
41
2
WSZYSTKO ZACZYNA SI OD ADRESU 43
Struktura adresu URL ................................................................................................................44
Nazwa schematu ................................................................................................................44
Jak rozpozna hierarchiczny adres URL? ............................................................................45
Dane uwierzytelniajce dostp do zasobu .........................................................................46
Adres serwera ....................................................................................................................47
Port serwera ......................................................................................................................48
Hierarchiczna cieka do pliku ...........................................................................................48
Tekst zapytania .................................................................................................................. 48
Identyfikator fragmentu ..................................................................................................... 49
A teraz wszystko razem .................................................................................................... 50
Znaki zarezerwowane i kodowanie ze znakiem procenta ........................................................ 52
Obsuga znaków spoza podstawowego zestawu ASCII .................................................... 54
Typowe schematy adresów URL i ich funkcje .......................................................................... 58
Obsugiwane przez przegldark protokoy pobierania dokumentów ............................. 59
Protokoy obsugiwane przez aplikacje i wtyczki firm trzecich ......................................... 59
Pseudoprotokoy niehermetyzujce .................................................................................. 60
Pseudoprotokoy hermetyzujce ....................................................................................... 60
Ostatnia uwaga na temat wykrywania schematów ........................................................... 61
Rozwizywanie wzgldnych adresów URL ............................................................................... 61
ciga ......................................................................................................................................... 64
Podczas tworzenia nowych adresów URL
na podstawie danych otrzymanych od uytkownika ......................................................... 64
Podczas projektowania filtrów adresów URL ................................................................... 64
Podczas dekodowania parametrów otrzymanych w adresach URL ................................. 64
3
PROTOKÓ HTTP 65
Podstawowa skadnia ruchu sieciowego HTTP ........................................................................ 66
Konsekwencje utrzymywania obsugi standardu HTTP/0.9 .............................................. 68
Dziwna obsuga znaków nowego wiersza ......................................................................... 69
dania proxy .................................................................................................................... 70
Obsuga konfliktujcych lub podwójnych nagówków ....................................................... 72
Wartoci nagówków rozdzielane rednikami ................................................................... 73
Zestaw znaków nagówka i schematy kodowania ............................................................. 74
Zachowanie nagówka Referer .......................................................................................... 76
Typy da HTTP ..................................................................................................................... 77
GET ................................................................................................................................... 77
POST ................................................................................................................................. 78
HEAD ................................................................................................................................ 78
OPTIONS .......................................................................................................................... 78
PUT ................................................................................................................................... 79
DELETE ............................................................................................................................. 79
TRACE ............................................................................................................................... 79
CONNECT ....................................................................................................................... 79
Inne metody HTTP ............................................................................................................ 79
Kody odpowiedzi serwera ........................................................................................................80
200 – 299: Sukces ..............................................................................................................80
300 – 399: Przekierowanie i inne komunikaty o stanie ..................................................... 80
400 – 499: Bdy po stronie klienta ................................................................................... 81
500 – 599: Bdy po stronie serwera ................................................................................ 82
Spójno sygnaów wynikajcych z kodów HTTP ............................................................. 82
Sesje podtrzymywane ................................................................................................................ 82
Przesyanie danych w czciach ................................................................................................ 84
8
Spis treci
Pami podrczna ......................................................................................................................85
Semantyka ciasteczek HTTP ......................................................................................................87
Uwierzytelnianie HTTP .............................................................................................................90
Szyfrowanie na poziomie protokou i certyfikaty klientów ........................................................91
Certyfikaty rozszerzonej kontroli poprawnoci .................................................................93
Reguy obsugi bdów .......................................................................................................93
ciga ..........................................................................................................................................95
Przy obsudze nazw plików podanych przez uytkownika
oraz nagówków Content-Disposition ...............................................................................95
Przy umieszczaniu danych uytkownika w ciasteczkach HTTP .........................................95
Przy wysyaniu kontrolowanych przez uytkownika nagówków Location .......................95
Przy wysyaniu kontrolowanych przez uytkownika nagówków Redirect .......................95
Przy konstruowaniu innych rodzajów da
i odpowiedzi kontrolowanych przez uytkownika .............................................................96
4
JZYK HTML 97
Podstawowe pojcia uywane w dokumentach HTML .............................................................98
Tryby parsowania dokumentu ...........................................................................................99
Walka o semantyk ..........................................................................................................101
Pozna zachowanie parsera HTML ..........................................................................................102
Interakcje pomidzy wieloma znacznikami ......................................................................103
Jawne i niejawne instrukcje warunkowe ..........................................................................104
Przydatne wskazówki do parsowania kodu HTML ..........................................................105
Kodowanie encji .......................................................................................................................105
Semantyka integracji HTTP/HTML ..........................................................................................107
Hipercza i doczanie treci ...................................................................................................108
Proste cza ......................................................................................................................109
Formularze i uruchamiane przez nie dania ...................................................................109
Ramki ...............................................................................................................................112
Doczanie treci okrelonego typu .................................................................................112
Uwaga dotyczca ataków midzydomenowego faszowania da ................................114
ciga ........................................................................................................................................116
Zasady higieny we wszystkich dokumentach HTML .......................................................116
Podczas generowania dokumentów HTML
z elementami kontrolowanymi przez atakujcego ...........................................................116
Podczas przeksztacania dokumentu HTML w zwyky tekst ...........................................117
Podczas pisania filtra znaczników dla treci tworzonych przez uytkownika ..................117
5
KASKADOWE ARKUSZE STYLÓW 119
Podstawy skadni CSS ...............................................................................................................120
Definicje waciwoci .......................................................................................................121
Dyrektywy @ i wizania XBL ..........................................................................................122
Interakcje z jzykiem HTML ............................................................................................122
Spis treci
9
Ryzyko ponownej synchronizacji parsera ................................................................................ 123
Kodowanie znaków ................................................................................................................. 124
ciga ....................................................................................................................................... 126
Podczas adowania zdalnych arkuszy stylów ................................................................... 126
Gdy wstawiasz do kodu CSS wartoci podane przez atakujcego .................................. 126
Podczas filtrowania stylów CSS podanych przez uytkownika ....................................... 126
Gdy umieszczasz w znacznikach HTML wartoci klas podane przez uytkownika ........ 127
6
SKRYPTY DZIAAJCE W PRZEGLDARCE 129
Podstawowe cechy jzyka JavaScript ...................................................................................... 130
Model przetwarzania skryptów ....................................................................................... 131
Zarzdzanie wykonaniem kodu ....................................................................................... 135
Moliwoci badania kodu i obiektów ............................................................................... 136
Modyfikowanie rodowiska uruchomieniowego ............................................................. 137
JSON i inne metody serializacji danych ........................................................................... 139
E4X i inne rozszerzenia skadni jzyka ............................................................................ 142
Standardowa hierarchia obiektów ........................................................................................... 143
Model DOM .................................................................................................................... 145
Dostp do innych dokumentów ...................................................................................... 148
Kodowanie znaków w skryptach ............................................................................................. 149
Tryby doczania kodu i ryzyko zagniedania ........................................................................ 150
ywy trup: Visual Basic ........................................................................................................... 152
ciga ....................................................................................................................................... 153
Podczas adowania zdalnego skryptu .............................................................................. 153
Podczas parsowania danych JSON otrzymanych od serwera ......................................... 153
Gdy umieszczasz dane przesane przez uytkownika w blokach JavaScriptu ................. 153
Podczas interakcji z obiektami przegldarki po stronie klienta ....................................... 154
Jeeli chcesz pozwoli na dziaanie skryptów uytkownika na swojej stronie ................ 154
7
DOKUMENTY INNE NI HTML 155
Pliki tekstowe .......................................................................................................................... 155
Obrazy bitmapowe .................................................................................................................. 156
Audio i wideo .......................................................................................................................... 157
Dokumenty zwizane z formatem XML ................................................................................. 158
Ogólny widok XML ......................................................................................................... 159
Format SVG ..................................................................................................................... 160
MathML ........................................................................................................................... 161
XUL ................................................................................................................................. 161
WML ................................................................................................................................ 162
Kanay RSS i Atom ........................................................................................................... 163
Uwaga na temat nierysowanych typów plików ....................................................................... 163
ciga ....................................................................................................................................... 165
Udostpniajc dokumenty w formacie wywiedzionym z XML ....................................... 165
W przypadku wszystkich typów dokumentów nie-HTML .............................................. 165
10
Spis treci
Zgłoś jeśli naruszono regulamin