Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Ominięcie zabezpieczenia
karis
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 2
Dołączył: 23.12.2008

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


Czy mogą inni jeśli tak to w jaki sposób obejść moje zabezpieczenia dotyczące uploadu plików?

Sprawdzam za pomocą ereg() czy w nazwie występuje np: php, php3, php4, php5....

Czy mogą oni w jakiś sposób wgrać plik php?
Go to the top of the page
+Quote Post
.radex
post
Post #2





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


mogą. Wystarczy, że rozszerzenie będzie inne. Ale wtedy nic z tym nie zrobisz, bo i tak nie odpalisz pliku php, jeśli nie ma on rozszerzenia .php

Sprawdzanie po rozszerzeniach wystarcza. Raz widziałem stronę z uploadem (nie będę podawał linku, żeby nie robić antyreklamy), na której nie było sprawdzane rozszerzenie, a mime type - takie zabezpieczenie można o kant dupy potłuc, bo mime type można sfałszować (kolega myślał, że mime type jest mu zwracane na podstawie zawartości pliku)
Go to the top of the page
+Quote Post
Spawnm
post
Post #3





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




po co tak?
sprawdzaj czy typ mime jest taki jaki dopuszczasz np. jpg, gif.
Go to the top of the page
+Quote Post
karis
post
Post #4





Grupa: Zarejestrowani
Postów: 217
Pomógł: 2
Dołączył: 23.12.2008

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


Dobra ale w jaki sposób to zrobią.
Przecież jak zmienią rozszerzenie skryptu to sie nie wykona
Go to the top of the page
+Quote Post
Crozin
post
Post #5





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Wsz7ystko zależy od konfiguracji serwera. Miałem już sam doczynienia z serwererami, gdzie dla wszystkich plików poza jpg,png,gif było włączone parsowanie kodu PHP.

Co do mime. Zależy które jest sprawdzane. Jeżeli to wyłane przez przeglądarkę to jest to błąd - bo to można sfałszować. Dużo pewniejsze jest sprawdzanie mime po stronie serwera.
Go to the top of the page
+Quote Post
karis
post
Post #6





Grupa: Zarejestrowani
Postów: 217
Pomógł: 2
Dołączył: 23.12.2008

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


w jaki sposób można sfałszować mime?
Go to the top of the page
+Quote Post
.radex
post
Post #7





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


Cytat(karis @ 3.04.2009, 18:17:27 ) *
w jaki sposób można sfałszować mime?


No przecież Crozin już wyjaśnił. Jeśli sprawdzamy mime type wysyłane przez przeglądarkę, to równie dobrze ta przeglądarka może wysłać sfałszowane mime. Po prostu wystarczy "powiedzieć" przeglądarce jakie MIME ma wysłać serwerowi.
Go to the top of the page
+Quote Post
pyro
post
Post #8





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(.radex @ 3.04.2009, 18:27:27 ) *
No przecież Crozin już wyjaśnił. Jeśli sprawdzamy mime type wysyłane przez przeglądarkę, to równie dobrze ta przeglądarka może wysłać sfałszowane mime. Po prostu wystarczy "powiedzieć" przeglądarce jakie MIME ma wysłać serwerowi.


a konkretniej nagłówek HTTP
Go to the top of the page
+Quote Post
Kocurro
post
Post #9





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

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


Widziałem jakiś czas temu funkcję, moduł, klasę (co to było nie pamiętam), które sprawdzały w locie mime-type bazując na ustalonych regułach.

pozdrawiam,
Łukasz
Go to the top of the page
+Quote Post
Fifi209
post
Post #10





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Jak na moje oko to możesz wgrać plik na serwer, spakować go np. zipem i po sprawie. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
tanwel_programme...
post
Post #11





Grupa: Zarejestrowani
Postów: 36
Pomógł: 6
Dołączył: 21.03.2009
Skąd: Obecny :)

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


Moim skromnym zdaniem zapominając o mime istnieje jeszcze jedna ważna reguła. Jeżeli zdarzy się, że na serwerze występują pliki ".inc" to należy pamiętać równierz o nich. Często się żdarza, że na serwer nie prasuje plików inc i można je nie tylko podmienić ale równierz sobie obejrzeć w przeglądarce (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
karis
post
Post #12





Grupa: Zarejestrowani
Postów: 217
Pomógł: 2
Dołączył: 23.12.2008

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


Cytat(fifi209 @ 3.04.2009, 21:51:19 ) *
Jak na moje oko to możesz wgrać plik na serwer, spakować go np. zipem i po sprawie. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)


No załózmy ze wgraj spakowany plik php zipem.

Jak zostanie on wykonany?
Go to the top of the page
+Quote Post
mlattari
post
Post #13





Grupa: Zarejestrowani
Postów: 79
Pomógł: 3
Dołączył: 23.12.2008
Skąd: Piaseczno

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


ale najprościej, jeżeli to grafika, będzie chyba uzycie getimagesize do sprawdzenia wymiarów pliku. Tego chyba nie da się oszukać :-)
Go to the top of the page
+Quote Post
Fifi209
post
Post #14





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(karis @ 3.04.2009, 22:40:49 ) *
No załózmy ze wgraj spakowany plik php zipem.

Jak zostanie on wykonany?


Właśnie chyba w tym rzecz aby nie został wykonany. ;p

@edit
Mam tu na myśli pakowanie plików php. Nie napisałeś co chcesz uploadować. ;d

Ten post edytował fifi209 4.04.2009, 08:15:41
Go to the top of the page
+Quote Post
karis
post
Post #15





Grupa: Zarejestrowani
Postów: 217
Pomógł: 2
Dołączył: 23.12.2008

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


A jak może zostać wykonany, chcę to wiedzieć (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
.radex
post
Post #16





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


Cytat(karis @ 4.04.2009, 10:04:16 ) *
A jak może zostać wykonany, chcę to wiedzieć (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)


Nie może (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

No chyba, że napiszesz moduł do Apache'a, który w czasie rzeczywistym wypakowuje plik zip i odpala zawarty w nim .php (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował .radex 4.04.2009, 09:17:31
Go to the top of the page
+Quote Post
kiamil
post
Post #17





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 16.03.2008

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


A rozszerzenia .phtml .shtml .asp .aspx .json .js .html .xhtml .htm itp. ? .phtml .shtml moze odpalacc php, .json mzoe sluzyc jako serwer danych, .js tez jako keylogger, .asp .aspx moze odpalic asp, .*htm* moze zawierac js..
Go to the top of the page
+Quote Post
Spawnm
post
Post #18





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




zamiast sprawdzać czy w nazwie czasem nie pojawiło się .php itp
lepiej daj tablicę z dozwolonymi formatami, z nazwy nadesłanej grafiki/aplikacji odcinaj 4 ostatnie znaki i potem sprawdzaj w in_array" title="Zobacz w manualu PHP" target="_manual .
Go to the top of the page
+Quote Post
Crozin
post
Post #19





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@Spawnm: do pobierania rozszerzenia pliku służy pathinfo" title="Zobacz w manualu PHP" target="_manual

Co do tematu: finfo_file" title="Zobacz w manualu PHP" target="_manual lub coś innego, co po stronie serwera odczytuje mime pliku już wgranego na serwer oraz sprawdzanie rozszerzenia. I tyle.
Go to the top of the page
+Quote Post
megawebmaster
post
Post #20





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


Dokładnie. A do obrazków można użyć exif_imagetype(). W ten sposób nie można uszkodzić sobie serwisu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
bełdzio
post
Post #21





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


co do spr rozszerzenia to NULL byte moze troszke namieszac :-) jest kilka sposobow zabezpieczenia wsio zalezy od funkcjonalnosci jaka ma byc spelniona (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) na blogasku (beldzio.com) w blizszym lub dalszym czasie mam zamiar cos ciekawego na ten temat napisac (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale sadzac po ankiecie z tematami raczej dalszym :-)
Go to the top of the page
+Quote Post
Fifi209
post
Post #22





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(.radex @ 4.04.2009, 10:16:42 ) *
Nie może (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

No chyba, że napiszesz moduł do Apache'a, który w czasie rzeczywistym wypakowuje plik zip i odpala zawarty w nim .php (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)


A nie lepiej po prostu skorzystać z gotowych bibliotek i rozpakować plik i możesz go potem uruchomić np. eval()" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
Babcia@Stefa
post
Post #23





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Cytat(.radex @ 4.04.2009, 08:16:42 ) *
Nie może (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

No chyba, że napiszesz moduł do Apache'a, który w czasie rzeczywistym wypakowuje plik zip i odpala zawarty w nim .php (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)


Już coś takiego istnieje, ale z GZIPEM.

Pozdrawiam, WebNuLL
Go to the top of the page
+Quote Post
erix
post
Post #24





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
z nazwy nadesłanej grafiki/aplikacji odcinaj 4 ostatnie znaki

asdasd.phpaaaa i Twoje "zabezpieczenie" leży.

Najpewniejsze jest zapisanie do katalogu poza public_html, sprawdzenie MIME po stronie serwera (file -bi) i tylko nagrzebanie w konfiguracji serwera/skopany skrypt może odpalić intruza.
Go to the top of the page
+Quote Post
Kocurro
post
Post #25





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

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


Nie wiem czy ktoś wstawiał już, jak nie to zapraszam do literatury (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

http://isc.sans.org/diary.html?storyid=6139
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 28.09.2025 - 08:50