Számtalan embernek származhat előnye abból, ha weboldaladat működésképtelenné teszi, vagy ha az értékes adataidat lelopja róla. Lehet ez egy konkurens vállalkozás tulajdonosa, pénzéhes hacker vagy akár egyszerű rosszakaró.

Ez a cikk nem a hackelés etikai kéréseiről fog szólni, nem teszünk különbséges etikus és nem etikus (Black-hat) hacker között, tisztán a felhasznált módszereket ismertetjük, mutatjuk be.

100%-ig biztonságos weboldalt nem lehet készíteni. Mindig lesz kiskapu, amely közvetlen vagy közvetett módon veszélyezteti honlapunk biztonságát, de ettől függetlenül a programozónak ismernie és védekeznie kell a leggyakoribb hackelési módszerek ellen.

 

SQL Injection

Amikor weboldalunk az adatbázisban szereplő adatokhoz szeretne nyúlni, akkor azt az SQL lekérdezőnyelv segítségével teszi. SQL nyelven kiadhatunk egy parancsot, hogy valamilyen műveletet hajtson végre az adatbázisban szereplő rekordokon, például kérdezze le, módosítsa, törölje őket.

Az egyszerűség kedvéért vegyünk egy konkrét példát: a weboldal keresőjébe írunk be valamit. Amikor rányomunk a "keresés" gombra, akkor a kereső mezőbe beírt értéket a program beilleszti egy SQL parancsba, majd a parancsot lefuttatja. Ha minden jól megy, akkor a program az elvárásnak megfelelően lefuttatja a parancsot és visszaadja a keresés feltételeinek megfelelő rekordokat.

Egy hozzáértő személy viszont könnyedén beírhat a kereső mezőbe akár egy SQL parancsot is, amely védelem hiányában egy az egyben lefuthat az adatbázison. Így nyerhet ki adatokat, de akár törölheti is az egész adatbázisunk.

A védekezés egyszerű, a programozónak figyelnie kell fejlesztés közben, hogy a program a felhasználóktól érkező minden adatot ellenőrizzen és ezekből érvényes SQL parancsot véletlenül se futtasson le.

 

Cross site scripting (XSS)

XSS sebezhetőség esetén egy rosszindulatú felhasználó képes olyan, a böngésző számára is értelmezhető kódot beilleszteni az oldalra, amit más felhasználók is látnak.

Az XSS-nek több típusa is van, az egyszerűség kedvéért bemutatunk egy konkrét esetet.

Adott egy weboldal, ahol kommenteket lehet létrehozni, azaz a felhasználók által beküldött szövegek tárolódnak az adatbázisban és azok megjelennek más felhasználók számára is. Egy rosszindulatú felhasználó megteheti azt, hogy ártatlan komment helyett, egy olyan parancsot gépel be és küld el kommentként, melyet az oldal megnyitásakor a böngésző programkódként értelmez és lefuttatja azt.

A védekezés hasonló, mint előbb, a programozónak figyelnie kell, hogy a felhasználók által kezelt adatok (jelen példában a kommentek) ne tartalmazzanak böngésző által értelmezhető és futtatható programkódot.

 

Denial of Service (DoS/DDoS)

Az úgynevezett túlterheléses támadás lényege, hogy a weboldal szerverével egyszerre váratlanul sok helyről kezdenek el kommunikálni, akkora mennyiségben, melyet a szerver már nem bír el. A weboldal komoly lassulását okozza, rosszabb esetben a szerver teljes összeomlását.

Védekezni többféleképpen lehet ellene, de a legegyszerűbb az adott időegység alatti kommunikációk számának korlátozása.

 

Sok más technika is létezik, de az említetteket nevezhetjük a leggyakoribbaknak. Teljes biztonságban sosem lehetünk, de a megfelelő tudás birtokában megnehezíthetjük a hackerek dolgát.