Facebook Pixel
Searching...
Suomi
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
The Web Application Hacker's Handbook

The Web Application Hacker's Handbook

Discovering and Exploiting Security Flaws
kirjoittanut Dafydd Stuttard 2007 722 sivua
4.23
1k+ arvostelut
Kuuntele
Kuuntele

Keskeistä havaintoa

1. Verkkosovellusten turvallisuus on kriittinen taistelukenttä

Jollain mittarilla verkkosovellusten turvallisuus on tänään merkittävin taistelukenttä hyökkääjien ja puolustajien, joilla on tietokoneresursseja ja tietoja, välillä, ja todennäköisesti se tulee olemaan sitä myös lähitulevaisuudessa.

Korkeat panokset. Verkkosovellukset ovat keskeisiä nykyaikaisessa liiketoiminnassa, käsitellen arkaluontoisia tietoja ja taloudellisia transaktioita. Tämä tekee niistä ensisijaisia kohteita hyökkääjille, jotka etsivät taloudellista hyötyä, henkilökohtaisia tietoja tai häiriöitä. Menestyksekkään hyökkäyksen seuraukset voivat olla vakavia, mukaan lukien taloudelliset menetykset, maineen vahingoittuminen ja oikeudelliset vastuudet.

Turvattomuus on laajalle levinnyt. Huolimatta turvallisuusongelmien tiedostamisesta monet verkkosovellukset pysyvät haavoittuvina. Merkittävä osa testatuista sovelluksista kärsii yleisistä haavoittuvuuksista, kuten rikkinäisestä todennuksesta, pääsynhallintaongelmista, SQL-injektioista ja ristiverkkoskripteistä. Tämä korostaa jatkuvan valppautta ja ennakoivia turvallisuustoimia.

Kehittyvä uhkakuva. Verkkosovellusten hyökkäämiseen käytettävät menetelmät kehittyvät jatkuvasti, ja uusia tekniikoita ja haavoittuvuuksia löydetään säännöllisesti. Puolustusten on sopeuduttava näihin muutoksiin pysyäkseen tehokkaina. Tämä vaatii jatkuvaa tutkimusta, koulutusta ja investointeja turvallisuusosaamiseen.

2. Ydinpuolustusmekanismit muodostavat hyökkäyspinnan

Jos vihollisen tunteminen on sodankäynnin ensimmäinen sääntö, niin näiden mekanismien perusteellinen ymmärtäminen on pääedellytys sovellusten tehokkaalle hyökkäämiselle.

Puolustusmekanismit ovat kohteita. Verkkosovellukset käyttävät ydinpuolustusmekanismeja suojautuakseen hyökkäyksiltä, mukaan lukien käyttäjäpääsyn, syötteen ja hyökkääjien hallinta sekä sovelluksen itsensä hallinta. Kuitenkin nämä mekanismit muodostavat myös sovelluksen ensisijaisen hyökkäyspinnan, mikä tekee niistä kriittisiä alueita, joilta hyökkääjät etsivät haavoittuvuuksia.

Toisiinsa liittyvät mekanismit. Käyttäjäpääsyä hallitaan tyypillisesti todennuksen, istunnon hallinnan ja pääsynhallinnan kautta. Nämä mekanismit ovat toisiinsa riippuvaisia, ja heikkous yhdessä voi vaarantaa koko järjestelmän. Esimerkiksi todennuksessa oleva virhe voi sallia hyökkääjän kiertää pääsynhallintaa.

Syötteen käsittely on ratkaisevaa. Käyttäjän syötteen turvallinen käsittely on välttämätöntä hyökkäysten estämiseksi. Tämä sisältää käyttäjän toimittamien tietojen validoimisen, puhdistamisen ja koodauksen, jotta haitallista koodia ei voida injektoida sovellukseen. Eri lähestymistavat syötteen käsittelyyn, kuten "hylkää tunnetut huonot" ja "hyväksy tunnetut hyvät", tarjoavat vaihtelevaa tehokkuutta.

3. HTTP-protokolla on verkkoviestinnän perusta

Hypertekstiä siirtävä protokolla (HTTP) on keskeinen viestintäprotokolla, jota käytetään maailmanlaajuisen verkon (WWW) käyttämiseen, ja sitä käyttävät kaikki nykypäivän verkkosovellukset.

HTTP:n ymmärtäminen on avain. Hypertekstiä siirtävä protokolla (HTTP) on verkkosovellusten viestinnän perusta. Perusteellinen ymmärrys HTTP-pyynnöistä, vastauksista, menetelmistä, otsikoista ja tilakoodeista on välttämätöntä verkkosovellusten hyökkäämisessä ja puolustamisessa.

HTTP-menetelmillä on merkitystä. HTTP-menetelmän (GET, POST, PUT, DELETE jne.) valinnalla voi olla turvallisuusvaikutuksia. Esimerkiksi arkaluontoisia tietoja ei tulisi siirtää GET-pyynnön URL-kyselymerkkijonossa, koska se voi tallentua lokiin tai välimuistiin.

Evästeet ovat kriittisiä. HTTP-evästeitä käytetään tilan ylläpitämiseen ja käyttäjien seuraamiseen useiden pyyntöjen aikana. Ymmärtäminen siitä, miten evästeitä asetetaan, siirretään ja käsitellään, on ratkaisevaa istunnon hallinnan haavoittuvuuksien tunnistamiseksi.

4. Verkkosovellukset hyödyntävät monenlaisia palvelinpuolen teknologioita

Laaja valikoima alustoja ja kehitystyökaluja on saatavilla, jotta suhteellisen aloittelijat voivat kehittää tehokkaita sovelluksia, ja suuri määrä avointa lähdekoodia ja muita resursseja on saatavilla räätälöityjen sovellusten rakentamiseen.

Teknologioiden monimuotoisuus. Verkkosovellukset hyödyntävät laajaa valikoimaa palvelinpuolen teknologioita, mukaan lukien skriptikielet (PHP, Python, Perl), verkkosovellusalustat (ASP.NET, Java), verkkopalvelimet (Apache, IIS) ja tietokannat (MySQL, Oracle). Jokaisella teknologialla on omat ainutlaatuiset haavoittuvuutensa ja hyökkäysvektorinsa.

Java-alusta. Java Platform, Enterprise Edition (Java EE) on de facto -standardi suurille yrityssovelluksille. Se soveltuu monitasoisiin ja kuormanjakoarkkitehtuureihin ja on hyvin soveltuva modulaariseen kehittämiseen ja koodin uudelleenkäyttöön.

ASP.NET. ASP.NET on Microsoftin verkkosovelluskehys ja suora kilpailija Java-alustalle. ASP.NET-sovelluksia voidaan kirjoittaa missä tahansa .NET-kielessä, kuten C# tai VB.NET.

5. Asiakaspään toiminnallisuus mahdollistaa rikkaita käyttäjäliittymiä

Nykyajan selaimet ovat erittäin toiminnallisia, mikä mahdollistaa rikkaita ja tyydyttäviä käyttäjäliittymiä.

Asiakaspään teknologiat. Verkkosovellukset käyttävät erilaisia asiakaspään teknologioita luodakseen rikkaita ja interaktiivisia käyttäjäliittymiä, mukaan lukien HTML, CSS, JavaScript ja selainlaajennukset. Näitä teknologioita voidaan myös hyödyntää käyttäjiin kohdistuvissa hyökkäyksissä.

HTML ja lomakkeet. HTML-lomakkeet ovat ensisijainen mekanismi käyttäjän syötteen keräämiseksi ja sen lähettämiseksi palvelimelle. Ymmärtäminen siitä, miten lomakkeet toimivat, mukaan lukien erilaiset koodausmuodot ja piilotetut kentät, on välttämätöntä haavoittuvuuksien tunnistamiseksi.

JavaScript ja Ajax. JavaScript mahdollistaa dynaamiset päivitykset ja asynkronisen viestinnän palvelimen kanssa, parantaen käyttäjäkokemusta. Kuitenkin se tuo myös mukanaan uusia turvallisuusriskejä, kuten DOM-pohjaiset XSS-hyökkäykset ja ristiverkkohyökkäykset.

6. Koodausmenetelmät ovat välttämättömiä turvalliselle tietojen käsittelylle

Verkkosovellukset käyttävät useita erilaisia koodausmenetelmiä tietojensa turvalliseen esittämiseen.

Koodausmenetelmät. Verkkosovellukset käyttävät erilaisia koodausmenetelmiä tietojen turvalliseen esittämiseen, mukaan lukien URL-koodaus, Unicode-koodaus, HTML-koodaus ja Base64-koodaus. Näiden menetelmien ymmärtäminen on ratkaisevaa tehokkaiden hyökkäysten laatimiseksi ja syötteen validoimisen suodattimien kiertämiseksi.

URL-koodaus. URL-koodaus käytetään erityisten merkkien koodamiseen URL-osoitteissa, kuten välilyönneissä, kysymysmerkeissä ja &-merkeissä. Hyökkääjät voivat käyttää URL-koodausta kiertääkseen suodattimia, jotka estävät tiettyjen merkkien käytön.

HTML-koodaus. HTML-koodaus käytetään erityisten merkkien esittämiseen HTML-dokumenteissa, kuten kulmasuluissa ja lainausmerkeissä. Hyökkääjät voivat käyttää HTML-koodausta kiertääkseen suodattimia, jotka estävät HTML-tageja ja attribuutteja.

7. Sovelluksen kartoittaminen paljastaa haavoittuvuuksia

Ensimmäinen askel sovelluksen hyökkäysprosessissa on kerätä ja tutkia keskeisiä tietoja siitä, jotta saat paremman käsityksen siitä, mitä vastaan olet.

Kartoittaminen on ratkaisevaa. Sovelluksen sisällön ja toiminnallisuuden kartoittaminen on ensimmäinen askel kaikissa hyökkäyksissä. Tämä sisältää kaikkien saavutettavissa olevien sivujen, lomakkeiden ja parametrien luettelemisen sekä käytössä olevien teknologioiden ja sovelluksen turvallisuusmekanismien tunnistamisen.

Kartoittamistekniikat. Kartoittamistekniikoita ovat verkkosivustojen indeksointi, käyttäjien ohjaama indeksointi ja piilotetun sisällön löytäminen brute-force-tekniikoiden ja julkisten tietolähteiden kautta.

Sovelluksen analysointi. Sovelluksen analysointi sisältää käyttäjän syötteelle tarkoitetut sisäänkäynnit, palvelinpuolen teknologiat ja sovelluksen paljastaman hyökkäyspinnan tunnistamisen. Näitä tietoja käytetään hyökkäysstrategian laatimiseen.

8. Asiakaspään hallintojen kiertäminen on usein triviaalista

Koska asiakas on sovelluksen hallinnan ulkopuolella, käyttäjät voivat lähettää satunnaista syötettä palvelinpuolen sovellukseen.

Asiakaspään hallinnat ovat epäluotettavia. Asiakaspään hallinnat, kuten syötteen validoimiset ja poistettujen lomake-elementtien käytön estäminen, voidaan helposti kiertää hyökkääjien toimesta. Sovelluksen on aina validoitava tiedot palvelinpuolella turvallisuuden varmistamiseksi.

Piilotetut lomakekentät ja evästeet. Piilotettuja lomakekenttiä ja evästeitä käytetään usein tietojen siirtämiseen asiakaspään kautta. Hyökkääjät voivat muokata näitä arvoja manipuloidakseen sovelluksen käyttäytymistä.

Selaimen laajennukset. Selaimen laajennusteknologiat, kuten Java-appletit ja ActiveX-ohjaimet, voivat myös olla kohteena asiakaspään hallintojen kiertämisessä.

9. Todennusmekanismit ovat alttiita suunnitteluvirheille

Todennusmekanismit kärsivät laajasta valikoimasta virheitä sekä suunnittelussa että toteutuksessa.

Todennus on kriittistä. Todennus on perustavanlaatuinen turvallisuusmekanismi, joka vahvistaa käyttäjän henkilöllisyyden. Kuitenkin todennusmekanismit ovat usein alttiita suunnitteluvirheille, kuten heikoille salasanaohjeille, brute-force-kirjautumisille ja yksityiskohtaisille virheilmoituksille.

Salasanan laatu. Sovellusten tulisi valvoa vahvoja salasanaohjeita estääkseen käyttäjiä valitsemasta heikkoja salasanoja. Tämä sisältää vähimmäispituuden, erilaisten merkkityyppien sekoittamisen vaatimisen ja yleisten sanojen tai henkilökohtaisten tietojen käytön estämisen.

Tilin lukitus. Sovellusten tulisi toteuttaa tilin lukitusmekanismeja estääkseen brute-force-hyökkäykset. Kuitenkin näiden mekanismien tulisi olla huolellisesti suunniteltuja, jotta vältetään tietovuodot ja palvelunestohyökkäykset.

10. Istunnon hallinta vaatii vahvaa token-käsittelyä

Istunnon hallintamekanismi on erittäin riippuvainen sen tokenien turvallisuudesta.

Istunnon hallinta on olennaista. Istunnon hallintaa käytetään käyttäjien seuraamiseen useiden pyyntöjen aikana. Istunnon hallintamekanismin turvallisuus riippuu sen tokenien vahvuudesta.

Tokenin generointi. Istuntotokenit tulisi generoida vahvalla satunnaislukugeneraattorilla estääkseen hyökkääjiä ennustamasta tai arvaamasta voimassa olevia tokenia.

Tokenin käsittely. Istuntotokenit tulisi suojata koko elinkaarensa ajan estääkseen luvattoman pääsyn. Tämä sisältää tokenien siirtämisen HTTPS:n kautta, niiden turvallisen tallentamisen palvelimelle ja asianmukaisen istunnon päättämisen toteuttamisen.

11. Pääsynhallintojen on oltava huolellisesti toteutettuja

Pääsynhallintamekanismi tarvitsee yleensä toteuttaa hienojakoista logiikkaa, jossa eri näkökohdat ovat merkityksellisiä sovelluksen eri alueilla ja eri toiminnallisuustyypeille.

Pääsynhallinta on perustavanlaatuista. Pääsynhallinnat määrittävät, mitkä käyttäjät ovat valtuutettuja pääsemään tiettyihin tietoihin ja toiminnallisuuksiin. Rikkoutuneet pääsynhallinnat ovat yleinen haavoittuvuus, joka voi johtaa luvattomaan pääsyyn ja etuoikeuksien nostamiseen.

Pääsynhallinnan tyypit. Pääsynhallinnat voivat olla vertikaalisia (rajoittavat pääsyä eri toiminnallisuustasoille), horisontaalisia (rajoittavat pääsyä tiettyihin tietoresursseihin) tai kontekstiriippuvaisia (rajoittavat pääsyä sovelluksen tilan mukaan).

Yleiset virheet. Yleisiä pääsynhallintavirheitä ovat suojaamattomat toiminnot, tunnistepohjaiset toiminnot, monivaiheiset toiminnot ja staattiset tiedostot.

12. Taustajärjestelmät voivat olla hyökkäysportteja

Jos verkkosovelluksessa on haavoittuvuus, julkisessa Internetissä oleva hyökkääjä voi pystyä vaarantamaan organisaation ydin taustajärjestelmät pelkästään lähettämällä muokattua tietoa verkkoselaimensa kautta.

Taustajärjestelmät ovat kohteita. Verkkosovellukset ovat usein vuorovaikutuksessa taustajärjestelmien, kuten tietokantojen, sähköpostipalvelimien ja käyttöjärjestelmien, kanssa. Nämä komponentit voivat olla hyökkäysportteja, jos käyttäjän toimittamia tietoja ei validoida asianmukaisesti.

Käyttöjärjestelmäkomentoinnin injektio. Käyttöjärjestelmäkomentoinnin injektiohaavoittuvuudet sallivat hyökkääjien suorittaa satunnaisia komentoja palvelimen käyttöjärjestelmässä.

SMTP-injektio. SMTP-injektiohaavoittuvuudet sallivat hyökkääjien lähettää satunnaisia sähköpostiviestejä sovelluksen sähköpostipalvelimen kautta.

13. Lähdekoodin tarkastus paljastaa piilotettuja haavoittuvuuksia

Lähdekoodin tarkastuksen lähestymistavat

Koodin tarkastus on arvokasta. Sovelluksen lähdekoodin tarkastaminen voi paljastaa piilotettuja haavoittuvuuksia, joita on vaikea havaita mustalaatikko-testauksella. Tämä sisältää suunnitteluvirheitä, logiikkavirheitä ja konfigurointiongelmia.

Lähestymistavat koodin tarkastukseen. Lähestymistavat koodin tarkastukseen sisältävät käyttäjän hallitseman datan jäljittämisen, yleisten haavoittuvuuksien tunnistamiseen liittyvien allekirjoitusten etsimisen ja riskialttiin koodin rivikohtaisen tarkastuksen suorittamisen.

Työkalut koodin selaamiseen. Koodin selaamiseen tarkoitetut työkalut, kuten Source Insight, voivat helpottaa koodin tark

Viimeksi päivitetty:

Arvostelut

4.23 asteikolla 5
Keskiarvo 1k+ arviot Goodreadsista ja Amazonista.

Verkkosovellushakkerin käsikirja on arvostettu tärkeänä resurssina verkkoturvallisuuden ammattilaisille ja kehittäjille. Lukijat ylistävät sen kattavaa käsittelyä haavoittuvuuksista ja hyödyntämistekniikoista, vaikka jotkut huomauttavat sen olevan hieman vanhentunut. Kirja on tekninen mutta helposti lähestyttävä, tarjoten käytännön vinkkejä ja vaiheittaisia selityksiä. Monet arvioijat pitivät sitä silmiä avaavana ja ehdottomasti luettavana alalla toimiville. Vaikka jotkut kritisoivat sen pituutta ja keskittymistä tiettyihin työkaluihin, useimmat ovat yhtä mieltä siitä, että se on korvaamaton opas verkkosovellusturvallisuuden ymmärtämiseen ja parantamiseen.

Your rating:

Tietoja kirjailijasta

Dafydd Stuttard on tunnettu asiantuntija verkkosovellusten turvallisuudessa ja The Web Application Hacker's Handbook -kirjan pääkirjoittaja. Hän on myös Burp Suite -työkalun luoja, joka on suosittu verkkovulnerabiliteettien skanneri ja penetraatiotestaustyökalu. Stuttardin laaja tietämys ja käytännön kokemus alalta näkyvät hänen kirjoituksissaan, jotka yhdistävät teknisen syvyyden selkeisiin selityksiin. Hänen työnsä on merkittävästi edistänyt verkkoturvallisuuskäytäntöjen ja -koulutuksen kehitystä. Stuttardin asiantuntemus on laajalti tunnustettu kyberturvallisuusyhteisössä, ja hän jatkaa vaikutusvaltaisena hahmona verkkosovellusturvallisuuden tekniikoiden ja työkalujen jatkuvassa kehittämisessä.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Ratings: Rate books & see your ratings
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
All summaries are free to read in 40 languages
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 10
📜 Unlimited History
Free users are limited to 10
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Mar 1,
cancel anytime before.
Consume 2.8x More Books
2.8x more books Listening Reading
Our users love us
50,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →