Bezpieczenstwo_aplikacji_tworzonych_w_technologii_Ajax_bezapa.pdf
(
1018 KB
)
Pobierz
Bezpieczeñstwo
aplikacji tworzonych
w technologii Ajax
Autor: Billy Hoffman, Bryan Sullivan
T³umaczenie: Robert Górczyñski
ISBN: 978-83-246-1693-0
Tytu³ orygina³u:
Ajax Security
Format: 168x237, stron: 496
Bezpieczeñstwo aplikacji WWW w Twoich rêkach!
•
Jakie ataki Ci gro¿¹?
•
Jak zapewniæ bezpieczeñstwo Twojej aplikacji WWW?
•
Jak testowaæ aplikacjê AJAX?
Technologia AJAX zdoby³a rynek aplikacji internetowych – to fakt. Si³a i szybkoœæ,
z jak¹ tego dokona³a, robi¹ wra¿enie. Niestety, wysoka wydajnoœæ w zdobywaniu rynku
odbi³a siê negatywnie na jakoœci kodu i jego odpornoœci na ataki. Oczywiœcie wiele
rozwi¹zañ spe³nia najwy¿sze standardy jakoœci i bezpieczeñstwa, ale istnieje jeszcze
wiele serwisów, które powinny o to zadbaæ.
Je¿eli zastanawiasz siê, czy Twój serwis korzystaj¹cy z AJAX jest odpowiednio
zabezpieczony, ta ksi¹¿ka odpowie na to pytanie! Ma³o tego, dziêki
„Bezpieczeñstwo
aplikacji tworzonych w technologii Ajax” dowiesz siê, jak optymalnie zabezpieczyæ
Twoj¹ aplikacjê, a tak¿e poznasz rodzaje ataków, na które ta aplikacja mo¿e byæ
nara¿ona. Poznasz tak¿e charakterystykê zagro¿eñ oraz nauczysz siê efektywnie
wykorzystywaæ mechanizm SSL (skrót od ang. Secure Sockets Layer). Po lekturze tego
podrêcznika bêdziesz w stanie poznaæ typowe b³êdy pope³niane przez programistów.
Zrozumiesz, w jaki sposób ktoœ mo¿e wykonaæ atak na warstwê prezentacji oraz dane
zgromadzone w przegl¹darce. Ponadto nauczysz siê testowaæ aplikacje AJAX. Autorzy
ksi¹¿ki przedstawi¹ równie¿ wady i zalety popularnych szkieletów aplikacji AJAX.
•
Podstawy technologii AJAX
•
AsynchronicznoϾ
•
Rodzaje ataków
•
Wykorzystanie SSL
•
Walidacja przyjmowanych danych
•
Skomplikowanie kodu a bezpieczeñstwo
•
Typowe b³êdy programistów
•
Przechwytywanie danych po stronie klienta
•
Bezpieczeñstwo w Google Gears oraz Dojo.Offline
•
Zagro¿enia zwi¹zane z warstw¹ prezentacji
•
Testowanie aplikacji AJAX
•
Zalety i wady dostêpnych szkieletów aplikacji AJAX
Zapewnij bezpieczeñstwo Twojej aplikacji!
Spis tre ci
Przedmowa ............................................................................................ 15
Przedmowa (ta rzeczywista) .................................................................. 17
PodziÚkowania ...................................................................................... 21
O autorach ............................................................................................. 23
Rozdziaï 1.
Wprowadzenie do bezpieczeñstwa technologii Ajax ............................. 25
Elementarz technologii Ajax ..................................................................................26
Czym jest Ajax? ................................................................................................26
Asynchroniczny ................................................................................................28
JavaScript ..........................................................................................................30
XML ..................................................................................................................34
Dynamiczny HTML (DHTML) ....................................................................35
Przechodzenie na architekturÚ Ajax ......................................................................35
Architektura grubego klienta ...........................................................................36
Architektura cienkiego klienta .........................................................................37
Ajax: zïotowïosa architektura ...........................................................................39
Architektura grubego klienta z punktu widzenia bezpieczeñstwa ................40
Architektura cienkiego klienta z punktu widzenia bezpieczeñstwa ..............41
Aplikacje Ajax z punktu widzenia bezpieczeñstwa .........................................42
Burza luk bezpieczeñstwa ......................................................................................43
ZwiÚkszony poziom zïo ono ci, przejrzysto ci i wielko ci ...........................43
Kwestie socjologiczne ......................................................................................46
Aplikacja Ajax: cel atrakcyjny i strategiczny ....................................................47
Podsumowanie .......................................................................................................48
8
Spis tre ci
Rozdziaï 2.
Wïamanie .............................................................................................. 49
Ewa ..........................................................................................................................49
Atak na witrynÚ HighTechVacations.net ..............................................................50
Zïamanie systemu kuponowego .....................................................................50
Atak na doïÈczanie 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 wej ciowych formularzy sieciowych .......................................107
Mechanizm cookies .......................................................................................109
Nagïówki ........................................................................................................110
Ukryte pola formularza sieciowego ..............................................................110
Parametry ciÈgu tekstowego zapytania ..........................................................111
Pliki przekazywane na serwer ........................................................................114
Ataki na tradycyjne aplikacje sieciowe: ogólna ocena .........................................115
Rodzaje ataków sieciowych ..................................................................................116
Metody usïugi sieciowej ................................................................................117
Definicje usïugi sieciowej ..............................................................................118
Ataki na aplikacje Ajaksa ......................................................................................119
�½ródïa ataków na aplikacje Ajaksa .................................................................120
Najlepsze z poïÈczenia obu wiatów — z punktu widzenia hakera ............122
Prawidïowa weryfikacja danych wej ciowych ....................................................123
Problem z czarnÈ listÈ oraz innymi okre lonymi poprawkami ...................124
Leczenie objawów zamiast choroby ..............................................................126
Weryfikacja danych wej ciowych na podstawie biaïej listy ..........................129
Wyra enia regularne .......................................................................................133
Dodatkowe przemy lenia dotyczÈce weryfikacji danych wej ciowych .......133
Spis tre ci
9
Weryfikacja rozbudowanych danych wej ciowych u ytkownika ......................135
Weryfikacja kodu znaczników .......................................................................136
Weryfikacja plików binarnych .......................................................................138
Weryfikacja kodu ródïowego JavaScript ......................................................138
Weryfikacja serializowanych danych .............................................................144
Mit dotyczÈcy tre ci dostarczanej przez u ytkownika .......................................146
Podsumowanie .....................................................................................................147
Rozdziaï 5.
Zïo ono Ê kodu Ajaksa ......................................................................... 149
Wiele jÚzyków i architektur .................................................................................149
Indeksowanie tablicy ......................................................................................150
Operacje na ciÈgach tekstowych ....................................................................152
Komentarze w kodzie ....................................................................................153
Problem innej osoby ......................................................................................154
Dziwactwa JavaScript ...........................................................................................156
Interpretowany, a nie kompilowany .............................................................156
Sïaba kontrola typów ......................................................................................157
Asynchroniczno Ê ................................................................................................159
Problem tak zwanych wy cigów ...................................................................159
Zakleszczenia i problem jedzÈcych filozofów ..............................................163
Synchronizacja po stronie klienta ..................................................................167
Zachowaj ostro no Ê podczas przyjmowania rad ..................................................168
Podsumowanie .....................................................................................................169
Rozdziaï 6.
Przejrzysto Ê aplikacji Ajaksa ............................................................... 171
Czarne pudeïka kontra biaïe pudeïka ..................................................................172
Przykïad: witryna MyLocalWeatherForecast.com .......................................174
Przykïad: witryna MyLocalWeatherForecast.com wykonana
z u yciem technologii Ajax .........................................................................176
Podsumowanie porównania ..........................................................................179
Aplikacja sieciowa jako API .................................................................................180
Rodzaje danych i sygnatury metod ...............................................................181
Szczególne bïÚdy dotyczÈce bezpieczeñstwa ......................................................182
Nieprawidïowe uwierzytelnienie ..................................................................182
Nadmierne rozdrobnienie API serwera ........................................................184
Przechowywanie stanu sesji w jÚzyku JavaScript .........................................187
Ujawnianie u ytkownikom poufnych danych .............................................188
Komentarze i dokumentacja w kodzie dziaïajÈcym po stronie klienta .......190
Transformacja danych wykonywana po stronie klienta ...............................191
Bezpieczeñstwo poprzez zaciemnianie ...............................................................195
Techniki zaciemniania kodu .........................................................................196
Podsumowanie .....................................................................................................198
10
Spis tre ci
Rozdziaï 7.
Przechwytywanie aplikacji Ajaksa ....................................................... 199
Przechwycenie struktury Ajaksa ..........................................................................200
Przypadkowe nadpisanie funkcji ...................................................................200
Nadpisywanie funkcji dla rozrywki lub w celu osiÈgniÚcia korzy ci ..........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 dotyczÈce bezpieczeñstwa magazynu danych
po stronie klienta .........................................................................................225
Mechanizm HTTP cookies .................................................................................226
Reguïy kontroli dostÚpu do cookie ...............................................................229
Pojemno Ê cookie HTTP ..............................................................................234
Czas ycia cookie ............................................................................................237
Dodatkowe informacje w zakresie bezpieczeñstwa cookie ..........................238
Podsumowanie rozwa añ dotyczÈcych u ywania 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 dotyczÈce magazynu danych DOM ..............................254
Bezpieczeñstwo magazynu danych DOM ...................................................256
Podsumowanie informacji dotyczÈcych magazynu danych DOM .............257
Magazyn userData w przeglÈdarce Internet Explorer ........................................258
Podsumowanie dotyczÈce bezpieczeñstwa ...................................................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 bezpieczeñstwa i niedociÈgniÚcia Google Gears .............272
Luki bezpieczeñstwa w komponencie WorkerPool .....................................276
Ujawnienie danych LocalServer i ska enie danych .....................................277
Bezpo redni dostÚp 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
Plik z chomika:
Ksiazki_20
Inne pliki z tego folderu:
Ajax_Biblia_ajaxbi.pdf
(2480 KB)
80_sposobow_na_Ajax_80ajax.pdf
(810 KB)
Adobe_Dreamweaver_CS3_z_ASP_ColdFusion_i_PHP_Oficjalny_podrecznik_drcsop.pdf
(1344 KB)
Adobe_Air_i_Ajax_Szybki_start_airajs.pdf
(505 KB)
Ajax_Bezpieczne_aplikacje_internetowe_ajabez.pdf
(541 KB)
Inne foldery tego chomika:
3ds max
Access
Acrobat
After Effects
Agile - Programowanie
Zgłoś jeśli
naruszono regulamin