Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt uploadu, podmiana rozszerzeń.
Forum PHP.pl > Forum > PHP
Traper21
Witam

Napisałem skrypt, który wysyła pliki graficzne na serwer, tylko o rozszerzeniach: jpeg, gif, png. Ale przecież można zmienić plikowi php rozszerzenie na jpeg a "niedobry" plik zostanie załadowany na serwer. Jednakże jak potencjalny hacker może uruchomić taki plik. Przecież kiedy wywoła ten plik nie zostanie on wykonany. Więc w czym tkwi niebezpieczeństwo?

Przed chwilą przeczytałem, że lepiej filtrować przy pomocy "MIME" pliku. Sam nie wiem.
Mam nadzieję, że post jest zrozumiały.
Pozdrawiam.
Cezar708
Oczywiście najlepiej jest filtrować po MIME... masz do tego dostęp w tablicy globalnej $_FILES, więc nie akceptuj tych, których nie chesz akceptować. Dodatkowym rozwiązaniem jest niedopuszczenie do bezpośredniego dostępu do danego pliku, tylko poprzez jakiś Twój spreparowany kod (readfile()). To uniemożliwi hakerowi odpalenie zuploadowanego skryptu
Traper21
Rozumiem MIME jest bezpieczniejsze.
Jednak chciałbym się dowiedzieć jeszcze jednej rzeczy. Jak uruchomić tak spreparowany plik php (zmiana rozszerzenia) aby się wykonał na serwerze? Przecież to chyba niemożliwe, chyba, że jest jakaś magiczna opcja w ustawieniach apache, php itp.
Cezar708
no najprościej to zuploadować plik hack.php na serwer (http://fakeserwer.pl) i potem uruchomić normalnie na przykład poprzez http://fakeserwer.pl/uploaded_files/hack.php. Jest jeszcze wieeeeeele innych sposobów i każdy w jakiś sposób łamie zabezpieczenia. Oczywiście nie jest tak tragicznie, bo nie wszyscy są Gumisiami tongue.gif tongue.gif
Traper21
Chodzi mi o to, że np. mamy serwer: http://www.fakeserwer.pl i pozwala on nam wysyłać pliki tylko z rozszerzeń , jpeg, gif, png.

Piszemy hax0rski skrypt(hax.php), zmieniamy mu rozszerzenie na jpeg(hax.jpeg) i wysyłamy na serwer.
Wówczas odpalenie: http://www.fakeserwer.pl/hax.jpeg nie działa. Jak sprawić aby zaczęło działać aaevil.gif
franki01
Mi sie wydaje ze sie nie da biggrin.gif Ani razu z takim czyms sie nie spotkalem...
wlamywacz
Aby zadziałało potrzeba zmienić w htacces lub php.ini aby wykonywało parsowało pliki .jpg sam tego kiedyś używałem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.