ПредишенСледващото

Този скрипт работи заедно със следната HTML-форма:

Когато PHP получава СЛЕД търсене с вида на кодиране "съставното / форм-данни", създава временен файл с произволно име в директория за временни файлове (т.е. / Var / TMP / php4vlktb). PHP също попълва глобален масив $ _FILES информация върху изтегления файл:

В този прост пример, няма ограничения за вида на качените файлове, така че нападателят може да качите файл със злонамерен код PHP или .NET, което ще доведе до сървъра да бъде компрометиран. В този случай, нападателят може просто да качите злонамерен скрипт c99 черупка или R57 черупка и да поеме контрола над сървъра.

Въпреки това, дори ако целта на гаранция провери разширението на файла е направен преди натоварването, атакуващият може също да го заобиколят с помощта на нула% 00. Всичко, което трябва да направите, е да изберете PHP файл за изтегляне, без да натискате бутона "Download". Пътят до избрания файл за изтегляне ще бъде показан за * NIX-системи ще изглеждат /Users/username/exploit.php, както и за Windows-базирани системи, като например C: \ exploit.php. На този етап, трябва ръчно да добавите към низ нулев знак за по-нататъшно разширяване на изображението, например, /Users/username/exploit.php%00.jpg или C: \ exploit.php% 00.jpg.

След като кликнете върху бутона "Изтегляне" ще проверява разширението на сървъра, като се има предвид, че изображението ще се зареди и ще покаже съобщение, подобно на следното: "Благодаря за качването на снимка". След като файлът бъде изтеглен, той ще бъде в състояние да изпълни зловреден код на сървъра.

Друг популярен начин за защита срещу изпълнението на изтеглените файлове е забрана за изпълнение на скриптове в директорията на изтегляне с помощта на .htaccess файла. Standard .htaccess файл за тази цел трябва да съдържа следния код:

Кодът по-горе използва списъка на забранените разширения и не особено сейфа по себе си. Един хакер може просто да заобиколят тези проверки, като изтеглите файл, наречен .htaccess, съдържащ кода, подобно на следното:

Тази линия разказва Apache, че е необходимо да се извърши графични файлове с разширение .jpg на, тъй като, ако PHP скрипт. Сега нападателя да качите файл с разширение .jpg на, съдържащ PHP код. Защото свалените файлове могат да презапишат и записване върху съществуващите, атакуващите могат да не се забъркваш .htaccess файл, за да заменят своя модифицирана версия, която позволява да се изпълняват скриптовете на сървъра за по-нататъшно компромис.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!