Bezpieczenstwo nowoczesnych aplikacji internetowych Przewodnik po zabezpieczeniach.pdf

(5702 KB) Pobierz
Tytuł oryginału: Web Application Security Exploitation and Countermeasures for Modern Web
Applications
Tłumaczenie: Joanna Zatorska
ISBN: 978-83-283-7005-0
© 2020 Helion SA
Authorized Polish translation of the English edition of Web Application Security ISBN 9781492053118 ©
2020 Andrew Hoffman
This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all
rights to publish and sell the same.
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 Helion SA 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 Helion SA nie ponoszą również
żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion SA
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/beznoa
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 ....................................................................................................................... 13
1. Historia bezpieczeństwa oprogramowania ................................................................ 29
Początki hakerstwa
Enigma — ok. 1930 r.
Automatyczne łamanie kodu Enigmy — ok. 1940 r.
Poznaj Bombę
Phreaking telefonów — ok. 1950 r.
Technologia antyphreakingowa — ok. 1960 r.
Początki hakowania komputerów — ok. 1980 r.
Rozwój sieci WWW — ok. 2000 r.
Hakerzy w nowoczesnej erze — po ok. 2015 r.
Podsumowanie
29
30
33
34
36
37
38
40
42
45
Część I. Rozpoznanie
2. Wstęp do rekonesansu aplikacji internetowych .......................................................... 49
Zbieranie informacji
Mapowanie aplikacji internetowej
Podsumowanie
49
51
53
3. Struktura nowoczesnej aplikacji internetowej ............................................................ 55
Nowoczesne aplikacje kontra aplikacje starszego typu
API typu REST
JavaScript Object Notation
JavaScript
Zmienne i zakres
Funkcje
Kontekst
55
57
59
61
62
64
64
5
Kup książkę
Poleć książkę
Dziedziczenie prototypowe
Asynchroniczność
Hierarchia DOM przeglądarki
Platformy SPA
Systemy uwierzytelniania i autoryzacji
Uwierzytelnianie
Autoryzacja
Serwery WWW
Bazy danych po stronie serwera
Magazyny danych po stronie klienta
Podsumowanie
65
67
70
72
73
73
74
74
75
76
77
4. Znajdowanie subdomen ............................................................................................ 79
Wiele aplikacji na domenę
Wbudowane w przeglądarkę narzędzia do analizy sieci
Wykorzystanie rekordów publicznych
Archiwa silnika wyszukiwania
Przypadkowe archiwa
Migawki z serwisów społecznościowych
Ataki transferu stref
Szukanie subdomen metodą brute force
Ataki słownikowe
79
80
82
83
85
86
89
91
96
5. Analiza API ................................................................................................................ 99
Wykrywanie punktu końcowego
Mechanizmy uwierzytelniania
Struktury punktów końcowych
Popularne struktury
Struktura specyficzna dla aplikacji
Podsumowanie
99
102
104
104
105
106
6. Znajdowanie zewnętrznych zależności ..................................................................... 107
Wykrywanie platform po stronie klienta
Wykrywanie platform SPA
Wykrywanie bibliotek JavaScriptu
Wykrywanie bibliotek CSS
Wykrywanie platform po stronie serwera
Wykrywanie nagłówków
Domyślne komunikaty błędów i strony 404
Wykrywanie baz danych
Podsumowanie
107
107
109
111
111
112
112
114
116
6
Spis treści
Poleć książkę
Kup książkę
7. Identyfikowanie słabych punktów w architekturze aplikacji ......................................117
Sygnały świadczące o bezpiecznej lub niezabezpieczonej architekturze
Wiele warstw bezpieczeństwa
Zapożyczenia i ponowne odkrywanie
Podsumowanie
118
121
122
124
8. Podsumowanie części I .............................................................................................125
Część II. Ofensywa
9. Wstęp do hakowania aplikacji internetowych ...........................................................129
Sposób myślenia hakera
Rozpoznanie stosowane
129
130
10. Ataki Cross-Site Scripting (XSS) .................................................................................133
Wykrywanie i eksploatacja XSS
Zapisane ataki XSS
Odbite ataki XSS
Ataki XSS oparte na hierarchii DOM
Ataki XSS oparte na mutacji
Podsumowanie
133
137
138
140
143
144
11. Cross-Site Request Forgery (CSRF) .............................................................................147
Manipulowanie parametrami zapytania
Inne dane wysyłane żądaniami GET
Ataki CSRF na punkty końcowe POST
Podsumowanie
147
151
152
154
12. XML External Entity (XXE) .........................................................................................155
Bezpośrednie ataki XXE
Pośrednie ataki XXE
Podsumowanie
155
158
160
13. Wstrzykiwanie .........................................................................................................161
Wstrzykiwanie SQL-a
Wstrzykiwanie kodu
Wstrzykiwanie polecenia
Podsumowanie
161
164
168
171
Spis treści
Kup książkę
7
Poleć książkę
Zgłoś jeśli naruszono regulamin