Fájlok megnyitása és külső adatok

Fájlok megnyitása és külső adatok. Potenciális sebezhetőség php-script

Function fopen, fájl tartalmazza, és szükség lehet megnyitni a fájlokat más oldalakon a http és ftp. Ez a funkció hordoz egy potenciális biztonsági rés a php-script, amely lehetővé teszi, hogy használja az oldalt, mint a proxy.







Az orosz nyelvű interneten, ez a rés alig fedezte. Az orosz oldalak biztonságának problémája nem tudtam megtalálni a közvetlen jelentéseket a biztonsági rést.

Url fopen wrapper

CR / LF HTTP-kérések

A kombináció a karakterek kocsi vissza és soremelés a HTTP-kérés fejlécében oszt. További információ a található egy cikkében Anton Kalmykov «HTTP-kérések Generation”. Ez a kombináció a karakterek, akkor küldje a GET-kérelmet „% 0D% 0A”.

Sok oldalt az oldal által generált script-sablonozó. A szkript átirányítja az összes kérés oldalon. REQUEST_URI venni a fájlnév a megnyitni kívánt. A fájl olvasható, ez hozzáadódik a sablon navigáció, sapka, stb és az eredmény ki az ügyfélnek.

Gondatlan vagy tapasztalatlan programozó írhat egyszerűen nyissa meg a fájlt ellenőrzése nélkül az adatokat:

A script végzi HTTP-kérés:

Az utolsó három sor a szkript automatikusan felkerülnek, de a két \ r \ n előttük végét jelenti a kérés. Így nem biztonságos szkript lehet használni, mint a proxy szerver. Ismerve a szám a „lyukas” helyek, a támadó lehet építeni egy lánc őket, hogy ez nehezebb megtalálni.







Okos felhasználása a kiaknázása

(Kell egy sorban) PHP mail.example.com modul a szerverrel a 25-ös port és küldje el a következő kérés:

elleni védelem hasznosítja

Ön, mint a fejlesztő vagy a webhely tulajdonosa, fontos, hogy minden lehetséges átjutni a webhely senki nem volt képes küldeni spam. Ha ez megtörténik, akkor meg kell küldeni minden dial-up Hawaii, amelyek tulajdonosai nem értik az emberi nyelv és a határidő tudja csinálni az Ön számára.

Ellenőrizze lekérdezés log

A legegyszerűbb módja annak, hogy tiltsa le a lehetséges biztonsági rés - megtiltják nyitott URL elküldése fájl funkciókat. Ha Ön rendszergazda a szerver - Tilt allow_url_fopen php beállításokat. Ha csak egy ügyfél - csökken a helyben. A .htaccess fájlt a root az oldalon írjon egy sort: php_value allow_url_fopen 0 Ha egy gonosz web hosting szolgáltató, akkor tiltsa le az URL fopen wrapper minden használó ügyfelek php_admin_value irányelvet. Csökkentett mód bekapcsolásához (safe mode) ebben az esetben nem segít, akkor a funkció továbbra is működik megfelelően.

Megszüntetéséről kérésre offensivnom

Ügyfél keresnie a webhelyén ellenőrizhetetlen változók létrehoz extra forgalom és betölti a szerver CPU. Egyértelmű, hogy nem kell az oldalakat, hogy létrehoz a helyén, ha nem jár a proxy. Kívánatos, hogy megöli ilyen kérelmet kezdete előtt php-tolmács. Ez megtehető a mod_rewrite modul. A .htaccess fájlt a gyökere a helyén, tettem egy ilyen sort:

Azt feltételezik, hogy a helyszínen nem lesz elküldve a GET metódus segítségével alkot többsoros felhasználótól. Ellenkező esetben, akkor le kell állítani ezt a szabályt.