ugrás a tartalomhoz

Az SQLite veszélyei

Bártházi András · 2004. Szep. 22. (Sze), 16.47
A PHP egyik nagyon kényelmes, de emellett (ebből következően?) nagyon veszélyes szolgáltatása (volt?) a böngészőtől érkező adatok automatikus bejegyzése változóként. Ez a szolgáltatás azt a lehetőséget rejti magában, hogy a PHP program írója nem feltétlenül inicializál egy változót, s emiatt azt egy támadó beállíthatja olyan értékre, amiből adódóan hozzáférhet érzékeny információkhoz. Ez egy biztonsági rés lett tehát, s a PHP verziói során alapértelmezett értéke - nagyon helyesen - kikapcsolt lett. Most felmerült: lehet, hogy az SQLite is hasonló fenyegetettséget rejt magában.

Az SQLite egy olyan modul, mely lehetővé teszi SQL műveletekkel történő adatbázismanipulációt adatbázisszerver nélkül. Az adatokat egy fájlban tárolja, s ezeken végez a program műveleteket helyben. Ez persze nem annyira hatékony, mint egy adatbázisszerver, viszont sok esetben egy egyszerű (már megint az egyszerűség!), és könnyen használható lehetőséget biztosít adatbázishasználatra, akkor is, ha a szerver gazdája nem kínál ilyen szolgáltatást.

Van azonban egy gond. Lehet, hogy az ingyenes szolgáltató nem kínál olyan könyvtárat a tárhelyen belül, mely nem elérhető a webszerveren keresztül, vagy pedig a program szerzője figyelmetlen, nem gondolja végig a dolgokat, vagy egyszerűen még nem látja át annyira a PHP programozást, s így az adatbázis egy olyan területre kerül, ahol webszerveren keresztül is elérhető. Egy hibaüzenet, programhiba, rossz szerver beállítás során, vagy pedig azért, mert egy általánosan terjesztett, de rosszul megírt programról van szó, előfordulhat, hogy kiderül, hogy érhető el ez a fájl. Az adatbázis védtelenné fog válni, bárki hozzáférhet. A Google segítségével már most kapunk találatokat a “This file contains an SQLite * database” kifejezésre.

Érdemes erre figyelnünk fejlesztéseink során!

Forrás: Dangers of SQLite Ignorance
 
1

Nagyon buta a cím :(

Anonymous · 2004. Szep. 28. (K), 07.29
Ez a címvállasztás, még ha átvett is, roppant buta. Ilyen alapon lehetne maga a php veszélyei is, vagy a dbf veszélyei, stb stb. Mi koze a témának az sqlite-hoz? Semmi.

Szerencsére ez az ottani cikk kommentjébe is megemlítik, sajnálatos viszont, hogy a cikk, ilyen névvel a cikk írójától, ismételten, nagyon ostobán, létrejött.
2

Kicsit fejtsed ki bővebben a dolgot...

Bártházi András · 2004. Szep. 28. (K), 10.45
Az általad leírtakkal nem értek egyet. Igenis az SQLLite szerkezetéből adódóan (mármint hogy az adatbázis egy fájlban elérhető) egy olyan lehetőség került a PHP nyelvbe, mely potenciális veszélyt jelent a nem hozzáértő, a webes architektúrát nem ismerő kezdők számára. Az ezzel párhuzamba állított automatikus változó regisztráció is csak és csupán a biztonsági veszélyeket nem ismerő, kezdő PHP-sek számára hordozott magában veszélyeket, végül alapértelmezésben ki is lett kapcsolva, mert ezt a szerzők is belátták. Az SQLLite esetén nem hiszem, hogy ez a megoldás, sokkal inkább ellenőrizni kellene valahol, hogy a fájl íráskor, megnyitáskor a DocumentRoot-on belül van-e, s ebben az esetben biztonsági hibaüzenetet adni.

S félreértés ne essék, ettől még az SQLLite egy nagyon-nagyon jó dolog, rengeteg előnnyel.

-boogie-

ui: írd alá, mert Anonymous-szal vitázni nem egy felemelő érzés. :)
3

Azt hittem eleg vilagosan irt

Anonymous · 2004. Okt. 4. (H), 10.11
Azt hittem eleg vilagosan irtam :) Mert lenne ennek koze az sqlite-hoz? .db (ami lehet akarmilyen file alapu db, lasd dbf stb php.net/dba dbx dbase es lehetne sorolni, melyekhez evek ota kinal beepiett fgv-eket a php) file-t nem tudja barmi megnezni ha nem docroot-on kivul van es nincs letiltva?

C.
4

De.

Bártházi András · 2004. Okt. 4. (H), 10.25
De. Azoknál is fennáll ez a veszély, igazad van. Viszont most az SQLite van a középpontban, és ennek veszélyeire kell felhívni a figyelmet, mert sokan nem veszik figyelembe, hogy annak ellenére, hogy ez úgy néz ki, mintha adatbázis lenne, nem az. Viszont most megértettem az álláspontodat. :) Viszont most már marad így a hír. ;)

-boogie-
5

nem az itteni hir cime a gaz,

Anonymous · 2004. Okt. 4. (H), 10.43
nem az itteni hir cime a gaz, hiszen ez egy atvett hir, bar en ilyenkor is finomitanek, hogy ne cimsorba szerepeljen mar eme diszkriminativ dolog:) Amugy erdemes elolvasni a csavo cikkere irt megjegyzeseket is :)

Mondjuk szerintem, ha valaki ennyire ugyse ert hozza (minek csinalja?:) ), de az lehet ugyse olvassa, vagy/es ugyse tudja hova tenni, viszont a cim annal inkabb kelthet "panik"-ot. Tudod, az marad meg az embereben, aki nem tudja mirol van szo igazan, hogy sqlite az veszelyes, rossz, gonosz :)

De nem flamelem tovabb, bocsi :) Csak ugy ki kivankozott.

C.