Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Upload i szkodliwe oprogramowanie
Mateusz Bogolubo...
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 22.09.2007
Skąd: Olkusz/Kraków

Ostrzeżenie: (0%)
-----


Witam,

Obecnie pracuję nad serwisem, w którym jedną z dostępnych funkcjonalności to upload plików na serwer. Naniosłem na użytkownika pewne ograniczenie, które polega na przesyłaniu jedynie archiwów zip.

Po tym słowie wstępu mam do Was kilka pytań.

Po pierwsze: Jak można zabezpieczyć się przed przesyłaniem plików innych niż ZIP?

Co już wdrożyłem: Sprawdzanie zawartości tablicy $_FILES[]['typ'] oraz rozszerzenia pliku. Zdaję sobie sprawę z niskiego poziomu zabezpieczenia tej metody. Dodatkowo korzystam z funkcji zip_open(), aby sprawdzić czy plik naprawdę jest archiwum ZIP. Jeśli funkcja nie zwraca uchwytu uważam plik za błędny. Czekam na opinie czy moje rozwiązanie jest dobre.

Drugie pytanie: Jak sprawdzić czy archiwum nie zawiera szkodliwego oprogramowania.

Zdaję sobie sprawę z faktu, że będzie ciężko wyłapać każdy szkodliwe oprogramowanie, ale chociaż podstawowa ochrona by się przydała. Dodam, że pracuje na wirtualnym serwerze, więc zmiana konfiguracji ustawień może być trudna, ale chętnie posłucham rozwiązań dedykowanych, co może przekona mnie do przejścia na serwer dedykowany.

Ten post edytował Mateusz Bogolubow 26.10.2008, 08:26:41
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




1) Metoda moze byc. Chociaz mnie by sie nie chcialo nawet otwierac tego L:P
2) To juz musisz miec antyvirusa na serwerze ktory pozwoli przeskanowac te pliki.
Mozesz to zrobic np za pomoca exec. ale musisz miec antyvira na serwerze.
Go to the top of the page
+Quote Post
-gox-
post
Post #3





Goście







Zamiast siusiac czy na pewno dobrze zabezpieczylem upload, uzywam liba z CodeIgnitera i mam spokoj... bedziesz zaskoczony jak wiele problemow rozwiazuje uzycie frameworka... o ile dasz sie przekonac...
Go to the top of the page
+Quote Post
Mateusz Bogolubo...
post
Post #4





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 22.09.2007
Skąd: Olkusz/Kraków

Ostrzeżenie: (0%)
-----


Cytat
Zamiast siusiac czy na pewno dobrze zabezpieczylem upload, uzywam liba z CodeIgnitera

Trochę nie na temat... trzymajmy się pytań.

Cytat
To juz musisz miec antyvirusa na serwerze ktory pozwoli przeskanowac te pliki.
Mozesz to zrobic np za pomoca exec. ale musisz miec antyvira na serwerze.


Prawdopodobnie exec jest zablokowany. Zastanawiałem się czy nie ma jakiegoś 'zewnętrznego' rozwiązania...
Go to the top of the page
+Quote Post
Maxik
post
Post #5





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Prawdopodobnie nie ma innej opcji niż shell.
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #6





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Jest inna opcja, ale jest mało elegancka. Jeśli nie masz antywirusa na serwerze, to znajdź jakiś inny zewnętrzny serwer, który go ma. Nie po to, aby go wykorzystać jako serwer www, tylko wysłać FTP'em ten plik i zlecić jego sprawdzenie. Być może nawet są jakieś serwisy, które takie coś udostępniają - poszukaj.
Schemat działania:
Upolad pliku "cos.zip" -> Otwarcie sesji FTP do kolejnego serwera i wysłanie pliku z żądaniem zbadania. Plik lokalnie oznaczasz jako "w kwarantannie - oczekuje na zbadanie"
W kolejnej sesji Twój serwer łączy się z serwerem na który posłał plik, aby odebrać informacje o wynikach skanowania. Tyle. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam.
Go to the top of the page
+Quote Post
-gox-
post
Post #7





Goście







A, kolega chce skanowac...

Soł, kompleksowe skanowanie plików w sieci oferuje serwis
http://virusscan.jotti.org/
(pierwszy link w G po wpisaniu virus scan...)

Tamtejsze AV najprawdopodobniej radza sobie ze spakowanymi paczkami, sprawdz.

Rozpakowanie w php -- no problemo -- raz ze sa do tego liby,
dwa ze zawsze mozesz dac shell_exec, i uzyc jakiegos kumbajna 7zip np.... oczywiscie takie rzeczy to raczej tylko na dedyku...

Niestety nie mozna ofac w 100% temu skanerowi, ba, ja bym nie ufal nawet w 50%, daj 10 min to skrobne malware, ktore nie zostanie wykryte, a narobi spustoszenia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
To samo w druga strone, polowa AV potrafi wykryc jako wirus kompletnie nieszkodliwy programik (ta technologia nosi nazwe "analiza heurystyczna" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )
Nalezalo by tez uwazac z rozpakowywaniem po stronie serwka... to juz operacja podczas ktorej moze dosc do ataku na aplikacje..

Narazie nie przychodzi mi nic wiecej madrego do glowy...
Go to the top of the page
+Quote Post
Mateusz Bogolubo...
post
Post #8





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 22.09.2007
Skąd: Olkusz/Kraków

Ostrzeżenie: (0%)
-----


Jak nic już nie wymyśle to pewnie skorzystam z serwisu http://virusscan.jotti.org. Prześle plik przez cURL i zobaczę co tam on wypisze...

Cytat
Nalezalo by tez uwazac z rozpakowywaniem po stronie serwka... to juz operacja podczas ktorej moze dosc do ataku na aplikacje..


Takie pytanie... czy pobranie uchwytu pliku (np. za pomocą zip_open()) może już mnie narazić na atak?
Go to the top of the page
+Quote Post
l0ud
post
Post #9





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Cytat
Takie pytanie... czy pobranie uchwytu pliku (np. za pomocą zip_open()) może już mnie narazić na atak?


Nie. No chyba, że istnieje jakaś dziura w bibliotece, ale to już byłby problem po stronie php (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 05:05