Információ inkontinencia

2011.02.25. 18:00 | aliceesbob | Szólj hozzá!

Címkék: programozás sdlc információszivárgás

Az információszivárgás egyik legtipikusabb esete, amikor a fejlesztés során debug módban futó vagy debug üzeneteket tartalmazó rendszer úgy kerül élesbe, hogy ezek a fejlesztést segítő technikák nem lettek kikapcsolva. Ezek rendszerint addig nem okoznak látható különbséget, ameddig valamilyen speciális URL-t nem érünk el, vagy a rendszerünk hibára nem fut.

A fejlesztés közben hasznos ha a nyomorult rendszerünk ha már hibára fut, legalább minél többet mondjon a hiba körülményeiről. Amúgy sem örülünk, legalább ne titkolózzon alapon. Ami azonban a fejlesztés közben hasznos, az az éles rendszerben minimum gagyi (a felhasználót a program belső világa nem érdekli), vagy egyenesen felhívás egy IT biztonsági keringőre.

Az ember a webet böngészve néha mindenféle hátsó szándék nélkül is belefuthat hibára futó alkalmazással. Ilyenkor rendesen azt mondja a rendszer, hogy "Upsz, hiba történt! Nézz be később!", vagy valami ilyesmi. Ha viszont a fejlesztő, üzemeltető nem járt el a megfelelő gondossággal, akkor keretrendszertől függően a támadó számára sok hasznos információt olvashat a látogató.

A napokban mi is belefutottunk egy ilyenbe és arra gondoltuk, hogy röviden demonstráljuk, mennyi hasznos információ van egy ilyen debug képernyőn elszórva. Megkértük Spala Feri kollégánkat, hogy mondja el mik az első gondolatai a html oldalról. Nem töltött vele többet, mint 5 percet, lássuk mire jutott.

  • Látszik, hogy Django keretrendszer 1.2.3 (esetleg van rá hiba)
  • Látszik, hogy az egyik python szkript a root könyvtárából fut, azt mindenképp érdemes megnézni, ha esetleg ott van cmd injection, az nagyon fasza (/root/xxx/src/xxx/Magazine/views.py)
  • Látszanak kód snippetek
  • Látszik az összes szerver oldali változó értéke visszaechozva (XSS gyanús, hibaüzenetbe iratod ki az xss-t)

  • Látszik a docroot (local file inc., vagy directory traversal támadásnál jól jön.

  • Látszik, hogy van CSRF token, így az a támadási vektor kilőve Látszik, hogy MySQL backend van, ahova root-tal csatlakozik (ha van sql injection, nyertünk)

 

  • Látszik hogy az adatbázis ugyanazon a szerveren van mint a webszerver 
  • Látszik az Apache, PHP verzió, OS típusa,verziója (esetleg van rá hiba)
  • Látszik, hogy pyt hon 2.5.2 (esetleg van rá hiba)
  • 99% hogy a webszerver is root-ként fut, különben nem matatna annyit a /root alatt
  • Maga a tény, hogy ezt visszaadja azt sugallja hogy default beállítások vannak -> ergo érdemes lehet alaposan ránézni, szinte biztos van más hiba/félrekonfigurálás is.

A vicces az, hogy az utolsó sorba még hardening javaslat is van :)) 

Hát úgy nagyon hirtelen ennyi, és tuti kihagytam jópár dolgot :)

Még annyit, hogy azért is érdemes security development lifecycle-all tudatosan foglalkozni, mert azokban a "secure by deployment" egy fontos ellenőrzési pont. Megint nem azért, hogy dícsérjük a Microsoftot, de az ő SDL-jükben a debug letiltása benne van.

-- Bártfai Attila, Spala Feri, tibjoz

A bejegyzés trackback címe:

https://aliceesbob.blog.hu/api/trackback/id/tr612687445

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása