Splatana_siec_Przewodnik_po_bezpieczenstwie_nowoczesnych_aplikacji_WWW_splasi.pdf

(737 KB) Pobierz
Tytuł oryginału: The Tangled Web: A Guide to Securing Modern Web Applications
Tłumaczenie: Wojciech Moch
ISBN: 978-83-246-4477-3
Original edition copyright © 2012 by Michał Zalewski. All rights reserved.
Published by arrangement with No Starch Press, Inc.
Polish edition copyright 2012 by HELION SA. All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/splasi
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
WST}P
15
PodziÚkowania ...........................................................................................................................17
1
BEZPIECZESTWO W ¥WIECIE APLIKACJI WWW
19
Podstawy bezpieczeñstwa informacji ........................................................................................19
Flirtowanie z rozwiÈzaniami formalnymi ............................................................................20
ZarzÈdzanie ryzykiem ........................................................................................................22
O wiecenie przez taksonomiÚ ...........................................................................................24
RozwiÈzania praktyczne .....................................................................................................26
Krótka historia sieci WWW ........................................................................................................27
Opowie ci z epoki kamienia: 1945 do 1994 ......................................................................27
Pierwsze wojny przeglÈdarek: 1995 do 1999 ....................................................................30
Okres nudy: 2000 do 2003 ................................................................................................31
Web 2.0 i drugie wojny przeglÈdarek: 2004 i pó niej ........................................................32
Ewolucja zagro eñ .....................................................................................................................34
U ytkownik jako problem bezpieczeñstwa .......................................................................34
Chmura, czyli rado Ê ycia w spoïeczno ci ........................................................................35
Rozbie no Ê wizji ...............................................................................................................36
Interakcje miÚdzy przeglÈdarkami: wspólna pora ka .........................................................37
Rozpad podziaïu na klienta i serwer ...................................................................................38
CZ}¥m 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 uwierzytelniajÈce dostÚp do zasobu .........................................................................46
Adres serwera ....................................................................................................................47
Port serwera ......................................................................................................................48
Hierarchiczna cie ka do pliku ...........................................................................................48
Kup książkę
Poleć książkę
Tekst zapytania .................................................................................................................. 48
Identyfikator fragmentu ..................................................................................................... 49
A teraz wszystko razem .................................................................................................... 50
Znaki zarezerwowane i kodowanie ze znakiem procenta ........................................................ 52
Obsïuga znaków spoza podstawowego zestawu ASCII .................................................... 54
Typowe schematy adresów URL i ich funkcje .......................................................................... 58
Obsïugiwane przez przeglÈdarkÚ protokoïy pobierania dokumentów ............................. 59
Protokoïy obsïugiwane przez aplikacje i wtyczki firm trzecich ......................................... 59
Pseudoprotokoïy niehermetyzujÈce .................................................................................. 60
Pseudoprotokoïy hermetyzujÈce ....................................................................................... 60
Ostatnia uwaga na temat wykrywania schematów ........................................................... 61
RozwiÈzywanie wzglÚdnych adresów URL ............................................................................... 61
¥ciÈga ......................................................................................................................................... 64
Podczas tworzenia nowych adresów URL
na podstawie danych otrzymanych od u ytkownika ......................................................... 64
Podczas projektowania filtrów adresów URL ................................................................... 64
Podczas dekodowania parametrów otrzymanych w adresach URL ................................. 64
3
PROTOKÓ HTTP
65
Podstawowa skïadnia ruchu sieciowego HTTP ........................................................................ 66
Konsekwencje utrzymywania obsïugi standardu HTTP/0.9 .............................................. 68
Dziwna obsïuga znaków nowego wiersza ......................................................................... 69
¿Èdania proxy .................................................................................................................... 70
Obsïuga konfliktujÈcych lub podwójnych nagïówków ....................................................... 72
Warto ci 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: BïÚdy po stronie klienta ................................................................................... 81
500 – 599: BïÚdy po stronie serwera ................................................................................ 82
Spójno Ê sygnaïów wynikajÈcych z kodów HTTP ............................................................. 82
Sesje podtrzymywane ................................................................................................................ 82
Przesyïanie danych w czÚ ciach ................................................................................................ 84
8
Spis tre ci
Kup książkę
Poleć książkę
PamiÚÊ podrÚczna ......................................................................................................................85
Semantyka ciasteczek HTTP ......................................................................................................87
Uwierzytelnianie HTTP .............................................................................................................90
Szyfrowanie na poziomie protokoïu i certyfikaty klientów ........................................................91
Certyfikaty rozszerzonej kontroli poprawno ci .................................................................93
Reguïy obsïugi bïÚdów .......................................................................................................93
¥ciÈga ..........................................................................................................................................95
Przy obsïudze nazw plików podanych przez u ytkownika
oraz nagïówków Content-Disposition ...............................................................................95
Przy umieszczaniu danych u ytkownika w ciasteczkach HTTP .........................................95
Przy wysyïaniu kontrolowanych przez u ytkownika nagïówków Location .......................95
Przy wysyïaniu kontrolowanych przez u ytkownika nagïówków Redirect .......................95
Przy konstruowaniu innych rodzajów Èdañ
i odpowiedzi kontrolowanych przez u ytkownika .............................................................96
4
J}ZYK HTML
97
Podstawowe pojÚcia u ywane w dokumentach HTML .............................................................98
Tryby parsowania dokumentu ...........................................................................................99
Walka o semantykÚ ..........................................................................................................101
PoznaÊ zachowanie parsera HTML ..........................................................................................102
Interakcje pomiÚdzy 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
HiperïÈcza i doïÈczanie tre ci ...................................................................................................108
Proste ïÈcza ......................................................................................................................109
Formularze i uruchamiane przez nie Èdania ...................................................................109
Ramki ...............................................................................................................................112
DoïÈczanie tre ci okre lonego typu .................................................................................112
Uwaga dotyczÈca ataków miÚdzydomenowego faïszowania Èdañ ................................114
¥ciÈga ........................................................................................................................................116
Zasady higieny we wszystkich dokumentach HTML .......................................................116
Podczas generowania dokumentów HTML
z elementami kontrolowanymi przez atakujÈcego ...........................................................116
Podczas przeksztaïcania dokumentu HTML w zwykïy tekst ...........................................117
Podczas pisania filtra znaczników dla tre ci tworzonych przez u ytkownika ..................117
5
KASKADOWE ARKUSZE STYLÓW
119
Podstawy skïadni CSS ...............................................................................................................120
Definicje wïa ciwo ci .......................................................................................................121
Dyrektywy @ i wiÈzania XBL ..........................................................................................122
Interakcje z jÚzykiem HTML ............................................................................................122
Spis tre ci
9
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin