fájl feltöltés script a szerveren
Ez a szkript működik együtt az alábbi HTML-formában:
Amikor a PHP kap POST-keresést a típusú kódolási "multipart / form-data", létrehoz egy ideiglenes fájlt véletlenszerű név egy könyvtárban ideiglenes fájlokat (például a / var / tmp / php4vlktb). PHP is kitölti a globális tömb $ _FILES információt a letöltött fájl:
Ebben az egyszerű példában nincsenek korlátai, hogy milyen típusú feltöltött fájlok, így a támadó feltölteni egy fájlt a rosszindulatú kód PHP vagy a .NET, ami azt eredményezi, hogy a szerver sérül. Ebben az esetben a támadó egyszerűen feltöltheti rosszindulatú script C99 shell vagy R57 héj és átveheti az irányítást a szerver.
Azonban, még ha a cél egy biztonsági ellenőrizze a fájl kiterjesztését készül a berakodás előtt, a támadó is kijátszására használatával null% 00. Mindössze annyit kell tennie, hogy válassza ki a PHP fájlt letölteni, ne nyomja meg a „Download” gombra. Az útvonal a kiválasztott fájl letöltéséhez fog megjelenni * nix rendszerek fog kinézni /Users/username/exploit.php, és a Windows alapú rendszerek, például c: \ exploit.php. Ebben a szakaszban, akkor kézzel kell hozzáadni, hogy a húr null karakter minden további bővítés a kép, például /Users/username/exploit.php%00.jpg vagy c: \ exploit.php% 00.jpg.
Miután rákattintott a „Download” gombra, majd ellenőrizze a szerver bővítése, figyelembe véve, hogy a kép betölti és megjeleníti a hasonló üzenet a következő: „Köszönöm, hogy feltölti a képet!”. Miután a fájl letöltése, akkor képes lesz arra, hogy rosszindulatú kódot futtatni a szerveren.
Egy másik népszerű módja, hogy megvédje végrehajtását a letöltött fájlok tilalmat a szkriptek végrehajtását a letöltési könyvtárat a .htaccess fájlt. Normál .htaccess fájlt erre a célra kell tartalmaznia az alábbi kódot:
A fenti kód használja a kitiltott bővítmények és nem különösebben biztonságban magát. A támadó egyszerűen csak megkerülni ezeket a vizsgálatokat letöltésével nevű fájlt .htaccess tartalmazó kód a következőhöz hasonló:
Ez a vonal jelzi az Apache, hogy szükséges-e elvégezni a képfájlok .jpg kiterjesztésű, mintha egy PHP script. Most a támadó lehet feltölteni egy fájlt .jpg kiterjesztésű tartalmazó PHP kódot. Mivel a letöltött fájlok felülírása és felülírja a meglévő, a támadók nem rendetlenség .htaccess fájlt cserélni módosított változata, amely lehetővé teszi, hogy végre szkriptek a kiszolgálón további kompromisszum.