Főoldal | Könyvlista | Gyorskereső

Átmenetileg a rendelés és szállítás szünetel
Hogyan törjünk fel webhelyeket - Webalkalmazások és webes szolgáltatások biztonsági vizsgálata

Hogyan törjünk fel webhelyeket

Webalkalmazások és webes szolgáltatások biztonsági vizsgálata

Mike Andrews, James A. Whittaker:
Hogyan törjünk fel webhelyeket
Webalkalmazások és webes szolgáltatások biztonsági vizsgálata

CD - melléklet - CD melléklettel

Megjelenés: 2007
Kiskapu Kiadó
256 oldal, bolti ár: 3980,- Ft

A könyv elfogyott
utánnyomás nem várható

A könyv ismertetése

Vissza a lap tetejére | A könyv tartalomjegyzéke

Mike Andrews, James A. Whittaker:
Hogyan törjünk fel webhelyeket

Az, hogy a hackerek könyörtelenül megtámadják majd webhelyeinket, webalkalmazásainkat és webszolgáltatásainkat, olyan elkerülhetetlen, mint a halál vagy az adók – ha pedig ilyen támadásoknak vagyunk kitéve, jobb ha még az előtt felderítjük a sebezhető pontokat, mielőtt a támadók rájuk lelnének. Ebben segít a webes alapú programok biztonsági tesztelésének alapkönyve: a Hogyan törjünk fel webhelyeket.

A kötetben két elismert szakértő mutatja be a webes támadások valamennyi fajtáját, beleértve az ügyfelek és a kiszolgálók elleni, valamint az állapot és felhasználói bevitel alapú támadásokat, és így tovább. Ahogy tucatszámra ismerjük meg a webes architektúrák és kódolási megoldások széles körben ismert és kiaknázott súlyos hibáit, megtanuljuk a támadási módszereket, de azt is, hogy hol kell keresnünk a fenyegetést, miként állapíthatjuk meg szigorú teszteléssel, hogy milyen veszélyek állnak fenn, és hogy miként háríthatjuk el azokat.

A kötet tartalmából:

  • Az ügyfelek sebezhető pontjai, különös tekintettel az ügyféloldali hitelesítésre
  • Állapot alapú támadások: rejtett mezők, CGI-paraméterek, sütimérgezés, URL-átirányítás és munkamenet-eltérítés
  • Felhasználói bevitel alapú támadások: idegen kódok, SQL-befecskendezés és könyvtárbejárás
  • Nyelv és technológia alapú támadások: tártúlcsordulás előidézése, kanonizáció és NULL karakterláncok
  • A kiszolgálók sebezhető pontjai: SQL-befecskendezés tárolt eljárásokkal, parancs-befecskendezés és ujjlenyomatvétel a kiszolgálótól
  • Titkosítás, adatvédelem és a webszolgáltatások elleni támadások

Webes programjaink működése létfontosságú: nem tehetjük kockára a biztonságukat. Legyünk fejlesztők, tesztelők, QA-szakértők vagy IT-menedzserek, ez a kötet segít, hogy megvédjük őket – méghozzá tervszerűen.

Bevezető

Sokszor tették fel nekünk a kérdést, hogy mikor jelenik meg a How to Break… sorozat következő kötete, és hogy miről fog szólni. Az olvasók visszajelzéseiből egyértelművé vált, hogy a webalkalmazásokról szeretnének olvasni: úgy tűnik, számos szoftvertesztelő dolgozik ezen a területen, akiknek olyan alkalmazásokat kell ellenőrizniük, amelyek a Világháló nyelveit és protokolljait használják.

Az előző két kötetből (How to Break Software, Addison-Wesley, 2002 és How to Break Software Security, Addison-Wesley, 2003) számos teszt ebben a környezetben is alkalmazható, de az internetes alkalmazások esetében egyedi problémákkal is szembe kell néznünk. Jelen kötetben ezekkel a problémákkal foglalkozunk, az elődők szellemében, de tudatosan a webes alkalmazások biztonsági kérdéseire összpontosítva.

Mielőtt azonban részletesebben is megnéznénk, mit is tartogat a könyv, először tisztáznunk kell, mi nem volt a célunk. Nem a Hacking Exposed sorozatot akartuk újraírni. Bár a hackeléssel foglalkozó könyvek témájával természetszerűen mutatkozik némi átfedés, nem azt kívánjuk bemutatni, hogyan támadható meg egy webkiszolgáló vagy webalkalmazás, hanem azt, hogy miként teszteljük azokat, hogy napvilágra kerüljenek azok a hibák, amelyek sebezhetővé teszik őket.

Könyvünket szoftverfejlesztőknek, tesztelőknek, vezetőknek és minőségellenőröknek írtuk, hogy segítsünk nekik elvenni a hackerek kenyerét. Ebből következően a betörők módszereivel is foglalkoznunk kell a könyvben, hiszen csak akkor szállhatunk szembe a támadókkal, ha ismerjük a stratégiájukat. Ez a kötet azonban a tesztelésről, és nem a betörési módszerekről szól: a tesztelőket szeretnénk az alkalmazások legsebezhetőbb területei felé terelni, és megmutatni nekik, hogyan tömhetik be a lyukakat.

A könyv nem szól arról sem, hogyan építhetünk fel helyesen egy webalkalmazást, és nem foglalkozik a webes programok kódolásának kérdéseivel sem. Ezekről a témákról már számos könyv jelent meg, és minden webfejlesztési platform egyedi kihívásokat jelent, amelyekkel az olyan művek, mint az Innocent Code, kimerítően foglalkoznak. A Hogyan törjünk fel webhelyeket -ben azonban sokat olvashatunk arról, hogyan ne tervezzünk és kódoljunk webalkalmazásokat, ezért a biztonságos webprogramozás iránt érdeklődő fejlesztőknek érdemes ezt a kötetet is a polcukra helyezniük.

Könyvünk lényege tehát az, hogy megmutassuk a tesztelőknek, hogy milyen támadásokkal kell az alkalmazásaikat próbára tenniük, hogy meggyőződhessenek azok védelmi képességeiről. Klasszikus példákat látunk majd a rosszindulatú adatbevitelre, a hitelesítési és azonosítási eljárások kikerülésére, illetve az egyes kiépítésekből, nyelvekből és architektúrákból eredő problémákra, méghozzá egységes, áttekinthető formában: megnézzük, hol kell keresni a problémát, hogyan kell ellenőrizni, hogy képes-e védekezni a program, és hogy miként lehet elhárítani a veszélyt. A Hogyan törjünk fel webhelyeket azoknak szól, akik mindent tudni szeretnének arról, hogyan kell tesztelni a web alapú alkalmazásokat, hogy kiszűrjék a leggyakrabban előforduló hibákat.

Kellemes webtesztelést!

Mike Andrews, Orange County, Kalifornia

James A. Whittaker, Melbourne, Florida

A könyv tartalomjegyzéke

Vissza a lap tetejére | A könyv ismertetése

Mike Andrews, James A. Whittaker:
Hogyan törjünk fel webhelyeket

Ajánlás v

Előszó vii

Köszönetnyilvánítás ix

A szerzőkről xi

Tartalomjegyzék xiii

 

1. fejezet A Web más

A fejezet tartalma 1

Bevezetés 1

A Világháló 2

A Web utópiájának ára 6

A Web és az ügyfél–kiszolgáló rendszerek 6

Ellentétes célok 7

A webalkalmazások hibamodellje 9

A webkiszolgáló 9

A webügyfél 10

A hálózat 10

Összefoglalás 11

 

2. fejezet Információk összegyűjtése a célpontról

A fejezet tartalma 13

Bevezetés 13

1. támadás: Aranymosás 14

Mikor alkalmazzuk ezt a támadást? 14

Hogyan hajtsuk végre ezt a támadást? 15

Hogyan védekezhetünk ez ellen a támadás ellen? 22

Mikor alkalmazzuk ezt a támadást? 23

Hogyan hajtsuk végre ezt a támadást? 23

2. támadás: Fájlok és könyvtárak kitalálása 23

Hogyan védekezhetünk ez ellen a támadás ellen? 27

Mikor alkalmazzuk ezt a támadást? 28

3. támadás: Mások által hagyott lyukak – a mintaalkalmazások sebezhető pontjai 28

Hogyan hajtsuk végre ezt a támadást? 29

Hogyan védekezhetünk ez ellen a támadás ellen? 30

 

3. fejezet Támadás az ügyfél ellen

A fejezet tartalma 31

Bevezetés 31

4. támadás: A beviteli korlátozások megkerülése 33

Mikor alkalmazzuk ezt a támadást? 34

Hogyan hajtsuk végre ezt a támadást? 35

Hogyan védekezhetünk ez ellen a támadás ellen? 38

5. támadás: Az ügyféloldali ellenőrzés megkerülése 38

Mikor alkalmazzuk ezt a támadást? 40

Hogyan hajtsuk végre ezt a támadást? 40

Hogyan védekezhetünk ez ellen a támadás ellen? 42

A bemenet érvényességének ellenőrzése 43

 

4. fejezet Állapot alapú támadások

A fejezet tartalma 45

Bevezetés 45

Mikor alkalmazzuk ezt a támadást? 47

6. támadás: Rejtett mezők 47

Hogyan hajtsuk végre ezt a támadást? 49

Hogyan védekezhetünk ez ellen a támadás ellen? 50

Mikor alkalmazzuk ezt a támadást? 51

7. támadás: CGI-paraméterek 51

Hogyan hajtsuk végre ezt a támadást? 52

Hogyan védekezhetünk ez ellen a támadás ellen? 55

A GET- és POST-paraméterek közötti különbség 55

8. támadás: Sütimérgezés 56

Mikor alkalmazzuk ezt a támadást? 57

Hogyan hajtsuk végre ezt a támadást? 57

Hogyan védekezhetünk ez ellen a támadás ellen? 59

Mikor alkalmazzuk ezt a támadást? 60

9. támadás: URL-átugrás 60

Hogyan hajtsuk végre ezt a támadást? 61

Hogyan védekezhetünk ez ellen a támadás ellen? 62

Mikor alkalmazzuk ezt a támadást? 64

10. támadás: Munkamenet-eltérítés 64

Hogyan hajtsuk végre ezt a támadást? 65

Hogyan védekezhetünk ez ellen a támadás ellen? 67

Hivatkozások 69

 

5. fejezet A felhasználó által megadott adatok megtámadása

A fejezet tartalma 71

Bevezetés 71

11. támadás: Idegen parancsok végrehajtása 72

Mikor alkalmazzuk ezt a támadást? 74

Hogyan hajtsuk végre ezt a támadást? 74

Hogyan védekezhetünk ez ellen a támadás ellen? 79

Mikor alkalmazzuk ezt a támadást? 81

12. támadás: SQL-befecskendezés 81

Hogyan hajtsuk végre ezt a támadást? 82

Hogyan védekezhetünk ez ellen a támadás ellen? 86

Mikor alkalmazzuk ezt a támadást? 87

13. támadás: Könyvtárbejárás 87

Hogyan hajtsuk végre ezt a támadást? 88

Hogyan védekezhetünk ez ellen a támadás ellen? 89

 

6. fejezet Nyelvi támadások

A fejezet tartalma 91

Bevezetés 91

14. támadás: Tártúlcsordulás előidézése 92

Mikor alkalmazzuk ezt a támadást? 93

Hogyan hajtsuk végre ezt a támadást? 93

Hogyan védekezhetünk ez ellen a támadás ellen? 96

15. támadás: A kanonizáció hibáinak kihasználása 97

Mikor alkalmazzuk ezt a támadást? 99

Hogyan hajtsuk végre ezt a támadást? 99

Hogyan védekezhetünk ez ellen a támadás ellen? 101

16. támadás: Null karakterláncok 101

Mikor alkalmazzuk ezt a támadást? 102

Hogyan hajtsuk végre ezt a támadást? 103

Hogyan védekezhetünk ez ellen a támadás ellen? 103

 

7. fejezet Támadás a kiszolgáló ellen

A fejezet tartalma 105

Bevezetés 105

Mikor alkalmazzuk ezt a támadást? 106

17. támadás: SQL-befecskendezés II – tárolt eljárások 106

Hogyan hajtsuk végre ezt a támadást? 107

Hogyan védekezhetünk ez ellen a támadás ellen? 108

Hogyan ellenőrizhetjük egy kód végrehajtását a kiszolgálón anélkül, hogy bármit tönkretennénk: a fordított visszhangkérés 109

18. támadás: Parancs-befecskendezés 110

Mikor alkalmazzuk ezt a támadást? 111

Hogyan hajtsuk végre ezt a támadást? 111

Hogyan védekezhetünk ez ellen a támadás ellen? 112

19. támadás: Ujjlenyomatvétel a kiszolgálótól 112

Mikor alkalmazzuk ezt a támadást? 113

Hogyan hajtsuk végre ezt a támadást? 114

Hogyan védekezhetünk ez ellen a támadás ellen? 118

Mikor alkalmazzuk ezt a támadást? 119

20. támadás: Elárásztás 119

Hogyan hajtsuk végre ezt a támadást? 120

Hogyan védekezhetünk ez ellen a támadás ellen? 120

Hivatkozások 121

 

8. fejezet Hitelesítés

A fejezet tartalma 123

Bevezetés 123

21. támadás: Hamis titkosítás 124

Mikor alkalmazzuk ezt a támadást? 125

Hogyan hajtsuk végre ezt a támadást? 125

Hogyan védekezhetünk ez ellen a támadás ellen? 128

22. támadás: A hitelesítés feltörése 128

Mikor alkalmazzuk ezt a támadást? 131

Hogyan hajtsuk végre ezt a támadást? 131

Hogyan védekezhetünk ez ellen a támadás ellen? 132

23. támadás: Webhelyek közötti nyomkövetés 134

Mikor alkalmazzuk ezt a támadást? 136

Hogyan hajtsuk végre ezt a támadást? 137

Hogyan védekezhetünk ez ellen a támadás ellen? 137

24. támadás: Gyenge titkosítás kikényszerítése 138

Mikor alkalmazzuk ezt a támadást? 140

Hogyan hajtsuk végre ezt a támadást? 141

Hogyan védekezhetünk ez ellen a támadás ellen? 142

Hivatkozások 143

 

9. fejezet Adatvédelem

A fejezet tartalma 145

Bevezetés 145

Hálózati ügyfelek 146

Hivatkozó 149

Sütik 150

Webpoloskák 152

Hozzáférés a vágólaphoz 153

Oldalak gyorstárazása 155

ActiveX vezérlők 156

Böngésző-segédobjektumok 157

 

10. fejezet Webszolgáltatások

A fejezet tartalma 159

Bevezetés 159

Mik azok a webszolgáltatások? 159

XML 161

SOAP 161

WSDL 162

UDDI 163

Veszélyek 163

WSDL-pásztázás 163

Paraméterhamisítás 165

XPATH-befecskendezés 165

Önhívó terheléses támadás 166

Túlméretezéses támadás 167

Külső egyed támadás 168

 

Függelékek

A A szoftvertörténelem 50 éve – a minõség alapelvei

 

1950–1959: Teremtés 170

1960–1969: Kivonulás 171

1970–1979: Zűrzavar 172

1980–1989: Helyreállítás 174

CASE eszközök 174

Formális módszerek 175

1990–1999: Folyamat 175

2000–2009: Tervezés? 178

A formális módszerek előnyei 180

A képességfejlettségi modell 180

További szoftverminőséggel kapcsolatos olvasmányok 181

 

B Flowershop-hibák

Táblázatok 183

 

C Eszközök

TextPad 191

Nikto 192

Wikto 195

Stunnel 201

BlackWidow 202

Wget 205

cURL 208

Paros 210

SPIKE Proxy 213

SSLDigger 216

Az emberi agy 218

 

Tárgymutató 219

Vissza a lap tetejére

mesekönyv

szoftver