Re: Szinte minden böngészőt érint a DLL-hiba
#1
Elküldve: 2010. 08. 26. 15:47
http://www.hwsw.hu/hirek/45145/microsoft-dll-sebezhetoseg-adobe-mozilla-firefox-opera-chrome-skype-winamp.html
#2
Elküldve: 2010. 08. 26. 15:47
Ha felveszem a %PATH% környezeti változó elejére a saját rosszindulatú könyvtáramat, akkor az abban levő szarok a precenedncia elve miatt hamarabb lesznek figyelembe véve, mint teszem azt, a System32 konyvtárban levők, így azok lesznek betölve, kivéve, ha nem spefikálják az elérési utat.
Amikor még a suliban tanultam, ez nem BUG volt, hanem Feature. Konkrétan a dolgok megkönnyítését szolgálta. Mára ez már lustaság lett. Mert bűnös hanyagság nem specifikálni a teljes elérési utat. Nem is értem, minek a %Path% változó...
#3
Elküldve: 2010. 08. 26. 17:37
#4
Elküldve: 2010. 08. 26. 20:07
#5
Elküldve: 2010. 08. 26. 20:14
One by one my tales are told.
#6
Elküldve: 2010. 08. 26. 20:20
#7
Elküldve: 2010. 08. 26. 20:26
Idézet: hkpk - Dátum: 2010. 08. 26. 16:47
Aztán bízol annyira az ügyfélben, hogy minden gépen minden fájl ugyanott lesz, mint ahogy megálmodtad? 64 bites Windows 7 alatt épp most szívtam, hogy a szoftver a "Program Files (x86)" mappába települt, az egyik hozzávaló plugin meg kérdés nélkül a "Program Files"-ba (ott létrehozta magának a kis könyvtárszerkezetét, mert még véletlenül sem tesztelte előtte, hogy van-e egyáltalán ott valami), aztán lehetett vakarózni, mert szimpla átmásolással még nem lettünk készen.
Aztán Windows Vista meg 7 alatt még jó is, mert az eltérő lokalizációk csak szimbolikus linket raknak az egy Users mappára, de amikor egy régebbi Windows szépen létrehozza az adott nyelven a Dokumentumok mappát, vagy csak egyszerűen a Windows könyvtárának más a neve, máris borul a teljes elérési út, és kénytelen leszel a környezeti változókban bízni, hogy ők tudják, mi merre van, és nem visznek be a susnyásba.
#8
Elküldve: 2010. 08. 26. 20:44
A környezeti változókkal együtt megadott dll-ek helye az adott gépen egyértelműen meg van határozva, így ezeket nem próbálja megkeresni az %path%-ban.
#12
Elküldve: 2010. 08. 27. 05:57
Ezek egyébként: %AppData%, %LOCALAPPDATA%, %ProgramFiles%, %ProgramFiles(x86)% , %ProgramW6432%, %CommonProgramFiles%, %SystemDrive%, %SystemRoot%, %WinDir%.
Még van a %Path% és még egy, de ezek elsőkörben nem olyan lényegesek, általában csak bonyolultabb programok esetén van rájuk szükség.
#13
Elküldve: 2010. 08. 27. 08:47
#14
#15
Elküldve: 2010. 08. 27. 09:19
Ha esetleg rosszul emlékeznél, márpedig rosszul emlékszel:
1. The directory from which the application loaded.
2. The system directory.
3. The 16-bit system directory.
4. The Windows directory.
5. The current directory.
6. The directories that are listed in the PATH environment variable.
Vagyis a %PATH% környezeti változót csak akkor nézi meg, ha előtte már öt helyen nem találta. A sebezhetőség pont az ötödik szintre vonatkozik.
az előidézéséhez az kell, hogy:
- Ne szerepeljen az alkalmazás mappájában a dll.
- Ne szerepeljen a WindowsSystem32-ben a dll.
- Ne szerepeljen a WindowsSystem-ben a dll.
- Ne szerepeljen a Windows mappában a dll.
- Az alkalmazáson belül az aktuális mappa pont az a könyvtár legyen, ahol a hamis dll van.
- Az alkalmazás éppen be akarja *DINAMIKUSAN* tölteni a hamis dll-t
Az említet sorrend az alapeset. Ezt természetesen meg lehet változtatni, de én még nem láttam olyan rendszert, ahol ehhez hozzányúltak volna. Persze, lehet mondani, hogy egy rosszindulatú program meg tudja változtatni, de ha ezt meg tudja változtatni, akkor már nincs szüksége erre a változásra, mert más rendszerszintű dolgokhoz is hozzáfér, ergo nincs értelme.
Vagyis a konklúzió számomra az, hogy fel van fújva a dolog. Ettől még persze át lehet térni a teljes elérési útra (ami amúgy nem minden esetben lehetséges - tapasztalat), de nem hinném, hogy ennek elmulasztása valós problémát jelentene.
#16
Elküldve: 2010. 08. 27. 13:00
No persze ez mind azt is feltételezi, hogy az elérési utak nincsenek bele compile-olva a programba, hanem utólag módosíthatóak, mondjuk a registry-ben.
Tudom, ez csak akkor védene meg ha a program telepítésénél még nincs kártékony dll és/vagy az így meghivatkozott dll nem íródik fölül.
Ez mind csak egy amolyan eszmefuttatás volt, egy ötlet, tehát nem kell komolyan venni...
#17
Elküldve: 2010. 08. 29. 22:38

Súgó














