bezpieczenstwo-aplikacji-tworzonych-w-technologii-ajax- full scan.pdf

(32838 KB) Pobierz
888497423.001.png
8 is tre i
Rozdzia 2.
Wamanie .............................................................................................. 49
Ewa ..........................................................................................................................49
Atak na witryn HighTechVacations.net ..............................................................50
Zamanie systemu kuponowego .....................................................................50
Atak na doczanie danych po stronie klienta .................................................56
Atak na API Ajax ...............................................................................................61
Kradzie w jedn noc .............................................................................................66
Rozdzia 3.
Ataki sieciowe ....................................................................................... 69
Podstawowe kategorie ataków ...............................................................................69
Wyliczanie zasobów .........................................................................................70
Manipulacje parametrami ................................................................................74
Inne rodzaje ataków ...............................................................................................98
Cross-Site Request Forgery (CSRF) ..............................................................98
Phishing ............................................................................................................99
Denial of Service (DoS) .................................................................................100
Ochrona aplikacji sieciowej przed atakiem wyliczania zasobów
lub manipulacji parametrami ............................................................................101
Secure Sockets Layer ......................................................................................102
Podsumowanie .....................................................................................................102
Rozdzia 4.
Sposoby ataków na Ajax ..................................................................... 105
Zrozumienie sposobów ataków na aplikacje Ajaksa ...........................................105
Sposoby ataków na tradycyjne aplikacje sieciowe ..............................................107
Pola danych wejciowych formularzy sieciowych .......................................107
Mechanizm cookies .......................................................................................109
Nagówki ........................................................................................................110
Ukryte pola formularza sieciowego ..............................................................110
Parametry cigu tekstowego zapytania ..........................................................111
Pliki przekazywane na serwer ........................................................................114
Ataki na tradycyjne aplikacje sieciowe: ogólna ocena .........................................115
Rodzaje ataków sieciowych ..................................................................................116
Metody usugi sieciowej ................................................................................117
Definicje usugi sieciowej ..............................................................................118
Ataki na aplikacje Ajaksa ......................................................................................119
róda ataków na aplikacje Ajaksa .................................................................120
Najlepsze z poczenia obu wiatów — z punktu widzenia hakera ............122
Prawidowa weryfikacja danych wejciowych ....................................................123
Problem z czarn list oraz innymi okrelonymi poprawkami ...................124
Leczenie objawów zamiast choroby ..............................................................126
Weryfikacja danych wejciowych na podstawie biaej listy ..........................129
Wyraenia regularne .......................................................................................133
Dodatkowe przemylenia dotyczce weryfikacji danych wejciowych .......133
Spis treci
9
Weryfikacja rozbudowanych danych wejciowych uytkownika ......................135
Weryfikacja kodu znaczników .......................................................................136
Weryfikacja plików binarnych .......................................................................138
Weryfikacja kodu ródowego JavaScript ......................................................138
Weryfikacja serializowanych danych .............................................................144
Mit dotyczcy treci dostarczanej przez uytkownika .......................................146
Podsumowanie .....................................................................................................147
Rozdzia 5.
Zoono kodu Ajaksa ......................................................................... 149
Wiele jzyków i architektur .................................................................................149
Indeksowanie tablicy ......................................................................................150
Operacje na cigach tekstowych ....................................................................152
Komentarze w kodzie ....................................................................................153
Problem innej osoby ......................................................................................154
Dziwactwa JavaScript ...........................................................................................156
Interpretowany, a nie kompilowany .............................................................156
Saba kontrola typów ......................................................................................157
Asynchroniczno ................................................................................................159
Problem tak zwanych wycigów ...................................................................159
Zakleszczenia i problem jedzcych filozofów ..............................................163
Synchronizacja po stronie klienta ..................................................................167
Zachowaj ostrono podczas przyjmowania rad ..................................................168
Podsumowanie .....................................................................................................169
Rozdzia 6.
Przejrzysto aplikacji Ajaksa ............................................................... 171
Czarne pudeka kontra biae pudeka ..................................................................172
Przykad: witryna MyLocalWeatherForecast.com .......................................174
Przykad: witryna MyLocalWeatherForecast.com wykonana
z uyciem technologii Ajax .........................................................................176
Podsumowanie porównania ..........................................................................179
Aplikacja sieciowa jako API .................................................................................180
Rodzaje danych i sygnatury metod ...............................................................181
Szczególne bdy dotyczce bezpieczestwa ......................................................182
Nieprawidowe uwierzytelnienie ..................................................................182
Nadmierne rozdrobnienie API serwera ........................................................184
Przechowywanie stanu sesji w jzyku JavaScript .........................................187
Ujawnianie uytkownikom poufnych danych .............................................188
Komentarze i dokumentacja w kodzie dziaajcym po stronie klienta .......190
Transformacja danych wykonywana po stronie klienta ...............................191
Bezpieczestwo poprzez zaciemnianie ...............................................................195
Techniki zaciemniania kodu .........................................................................196
Podsumowanie .....................................................................................................198
10
Spis treci
Rozdzia 7.
Przechwytywanie aplikacji Ajaksa ....................................................... 199
Przechwycenie struktury Ajaksa ..........................................................................200
Przypadkowe nadpisanie funkcji ...................................................................200
Nadpisywanie funkcji dla rozrywki lub w celu osignicia korzyci ..........202
Przechwytywanie technologii Ajax na danie ...................................................208
Przechwytywanie API JSON ..............................................................................213
Przechwycenie obiektu ..................................................................................218
Geneza przechwycenia danych JSON ..........................................................218
Obrona przed atakiem przechwycenia API ..................................................219
Podsumowanie .....................................................................................................222
Rozdzia 8.
Ataki na magazyny danych po stronie klienta ..................................... 223
Ogólny opis systemów magazynowania danych po stronie klienta ..................223
Ogólne informacje dotyczce bezpieczestwa magazynu danych
po stronie klienta .........................................................................................225
Mechanizm HTTP cookies .................................................................................226
Reguy kontroli dostpu do cookie ...............................................................229
Pojemno cookie HTTP ..............................................................................234
Czas ycia cookie ............................................................................................237
Dodatkowe informacje w zakresie bezpieczestwa cookie ..........................238
Podsumowanie rozwaa dotyczcych uywania cookie
jako magazynu danych .................................................................................239
Obiekty Flash Local Shared Objects ...................................................................240
Podsumowanie informacji o obiektach Local Shared Object ......................248
Magazyn danych DOM .......................................................................................249
Magazyn danych sesji .....................................................................................250
Globalny magazyn danych .............................................................................252
Diabelskie szczegóy dotyczce magazynu danych DOM ..............................254
Bezpieczestwo magazynu danych DOM ...................................................256
Podsumowanie informacji dotyczcych magazynu danych DOM .............257
Magazyn userData w przegldarce Internet Explorer ........................................258
Podsumowanie dotyczce bezpieczestwa ...................................................263
Ogólne informacje o atakach i obronie magazynów danych po stronie klienta ......264
Ataki typu cross-domain ................................................................................264
Ataki cross-directory ......................................................................................265
Ataki cross-port ..............................................................................................266
Podsumowanie .....................................................................................................267
Rozdzia 9.
Ajaksowe aplikacje offline ................................................................... 269
Ajaksowe aplikacje offline ....................................................................................269
Google Gears ........................................................................................................271
Rodzime funkcje bezpieczestwa i niedocignicia Google Gears .............272
Luki bezpieczestwa w komponencie WorkerPool .....................................276
Ujawnienie danych LocalServer i skaenie danych .....................................277
Bezporedni dostp do bazy danych Google Gears .....................................281
Ataki typu SQL Injection i struktura Google Gears .....................................282
Jak niebezpieczny jest atak SQL Injection po stronie klienta? ....................287
Spis treci
11
Dojo.Offline .........................................................................................................289
Bezpieczne przechowywanie klucza .............................................................290
Zapewnienie bezpieczestwa danych ...........................................................291
Dobre hasa dla dobrych kluczy ....................................................................292
Weryfikacja danych wejciowych po stronie klienta staa si istotna ................293
Inne podejcia do aplikacji offline .......................................................................294
Podsumowanie .....................................................................................................295
Rozdzia 10.
Kwestie zwizane z pochodzeniem da ........................................... 297
Roboty, pajki, przegldarki internetowe oraz inne koszmary ..........................297
„Cze! Nazywam si Firefox. Lubi programowanie,
pliki PDF oraz dugie spacery po play” .....................................................299
Niepewno dotyczca róda pochodzenia dania oraz JavaScript ................300
dania Ajaksa z perspektywy serwera .........................................................300
Uytkownik lub kto podszywajcy si pod niego .......................................304
Wysyanie da HTTP za pomoc JavaScriptu ..........................................306
Ataki JavaScript z uyciem da HTTP
w aplikacjach niestosujcych technologii Ajax ...........................................308
Kradzie treci za pomoc obiektu XMLHttpRequest ................................310
Poczenie ataków XSS i XHR w praktyce ...................................................315
Sposoby obrony ....................................................................................................317
Podsumowanie .....................................................................................................319
Rozdzia 11.
Aplikacje mashup oraz agregatory ...................................................... 321
Dane z Internetu nadajce si do uycia .............................................................322
Wczesne lata 90. ubiegego wieku
— pocztek wspóczesnego Internetu ........................................................322
Poowa lat 90. XX wieku — narodziny machiny sieciowej .........................323
XXI wiek — machina sieciowa staa si dojrzaa ..........................................324
Publicznie dostpne usugi sieciowe .............................................................325
Aplikacja mashup: frankenstein Internetu ..........................................................327
ChicagoCrime.org .........................................................................................328
HousingMaps.com .........................................................................................329
Inne aplikacje typu mashup ...........................................................................330
Budowanie aplikacji mashup ...............................................................................331
Aplikacje mashup i Ajax .................................................................................332
Pomost, proxy, brama — och nie! .......................................................................334
Alternatywy dla proxy Ajax ............................................................................335
Ataki na proxy Ajax ..............................................................................................336
Halo, HousingMaps.com? .............................................................................338
Weryfikacja danych wejciowych w aplikacji mashup .......................................341
Witryny agregujce ...............................................................................................343
Zdegradowane bezpieczestwo i zaufanie ..........................................................351
Podsumowanie .....................................................................................................354
Zgłoś jeśli naruszono regulamin