Bezpieczeństwo skryptów PHP, Jak zabezpieczyć się przed włamaniem |
Bezpieczeństwo skryptów PHP, Jak zabezpieczyć się przed włamaniem |
20.08.2006, 09:55:10
Post
#61
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 22.07.2006 Ostrzeżenie: (0%) |
A jakich powinno sie ustrzegac znakow w zmiennych przekazywanych drogą $_GET , $_POST itd., jeżeli zmienne te będa dalej wykorzystywane w skrypcie. Od razu powiem, ze nie chodzi mi o includowanie plikow, tylko o zwykle parametry, ktore maja wplyw na dalszy przebieg skryptu?
Czy zwykle stripslashes, strip_tags, trim lub funkcje zwiazane z mysql wystarcza? Ten post edytował kalu111 20.08.2006, 09:56:06 |
|
|
3.11.2006, 13:36:29
Post
#62
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 30.06.2003 Skąd: Katowice Ostrzeżenie: (0%) |
A czy mój tok myślenia jest dobry? Mam zrobione logowanie, jęsli podane dane zgadzają sie:
A pliki includowane przez panel zaczynajuą sie od:
gdzie zmienna $_GET['k'] wskazuje katalog z którego ma być include() modułu. Ten post edytował iks 3.11.2006, 13:37:36 -------------------- iksor
|
|
|
29.11.2006, 13:40:53
Post
#63
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 17.11.2006 Ostrzeżenie: (0%) |
a czy moglibyście powiedzieć czy ten skrypt jest bezpieczny??
system includowania stron oraz w pliku includowanym: co o tym myślicie?? Ten post edytował Saddam92 29.11.2006, 13:43:18 |
|
|
30.11.2006, 21:36:25
Post
#64
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 11.06.2005 Skąd: Gostyń Ostrzeżenie: (0%) |
A jak ktoś poda w zmiennej coś typu "../../../../root/jakiswaznyplik"?
-------------------- @nospor: trzymajcie się. Wszystko będzie dobrze!
|
|
|
30.11.2006, 23:17:28
Post
#65
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 17.11.2006 Ostrzeżenie: (0%) |
@termit: to do mnie było
jesli tak to raczej nie widze możliwości.. chyba ze php obsługuje takie nielogiczne skrypty jak sciezka do pliku wygladajac tak: strony/../../../../root/jakis_wazny_plik i to w dodatku trzeba trafić idealnie żeby taki plik istniał w odpowiednim katalogu... troche trudne i nie logiczne.. co na to spece od php?? |
|
|
1.12.2006, 10:26:12
Post
#66
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 12.02.2004 Skąd: Poznań Ostrzeżenie: (0%) |
Przed chwilą przeczytałem ten artykuł i nieco się zmieszałem. W jaki więc sposób powinniśmy upload'ować pliki na serwer? Szczególnie grafiki takie jak avatary użytkowników? Przyznaję, że wystraszyłem się o kilka swoich stron.
Szukałem, ale nie znalazłem nic innego na ten temat. Żadne ze znalezionych przeze mnie przykładów nie zawierają żadnych dodatkowych zabezpieczeń. Łatwiej znaleźć przykład kodu omijającego te zabezpieczenia niż faktycznego zabezpieczenia. Ktoś ma jakieś sugestie? Spytam: czy zabezpiecza mnie fakt, że np. wszystkim przesłanym plikom (niby obrazkom) nadaję rozszerzenie jpg (konwertując wcześniej inne formaty grafik na jpg) ? Teoretycznie powinno mnie to zabezpieczyć, ponieważ serwer nie jest skonfigurowany tak, aby interpretować pliki jpg jako kod php. Ale co z innymi językami, np. Python wspomniany w powyższym artykule? A jeśli to nie zapewnia mi bezpieczeństwa to czy upload'owanie plików poza document_root wystarczy? Wtedy musiałbym je odczytywać dodatkowym skryptem php pobierającym ich zawartość i wypluwającym ją do przeglądarki. Ten post edytował Najki 1.12.2006, 10:36:19 -------------------- |
|
|
1.12.2006, 13:38:15
Post
#67
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 0 Dołączył: 22.01.2006 Ostrzeżenie: (0%) |
Nigdy nie powinno się ufać nagłówkom http, nagłówki te wstawia agent, którym się posługuje użytkownik a nie zawsze to musi być przeglądarka, może to być po prostu skrypt napisany przez kogoś, który chce wyciągnąć ważne informacje z naszego serwera.
W powyższym przypadku powinieneś po prostu użyć funkcji getimagesize() ona po zawartości pliku oceni jakiego typu jest plik czyli przy próbie przesłania skryptu php wywali błąd, który oczywiście możesz przechwycić i odrzucić plik. |
|
|
5.12.2006, 19:01:57
Post
#68
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 10.11.2003 Skąd: Poznań Ostrzeżenie: (0%) |
Czyli jeśli będę miał np. wstawiony kod:
To moja strona będzie bezpieczna ? |
|
|
7.12.2006, 13:50:49
Post
#69
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
@Najki jest proste rozwiązanie nadanie pliku własnej nazwy.
Ja mam po prostu numerowane pliczki, i każdy jeśli rozpoznam np. image/png to zapisuje {numer}.png a nazwa wysłanego co najwyżej służy do opisu w bazie co jako string nie jest niebezpieczne. Co dziwne jest funkcja do sprawdzania mime mianowicie mime_content_type ale szukając na jej temat znalazłem tylko pliki magic.mime niestety jakoś nie udało mi się tego użyć. Choć przyznam, że tylko chwile siedziałem nad tym. Mam nadzieję, że dobrze zrozumiałem naturę problemu. -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
8.12.2006, 21:42:34
Post
#70
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 17.11.2006 Ostrzeżenie: (0%) |
no dobrze.. tylko ze tutaj jest sprawdzany typ pliku.. a jak by do tego dodac jeszcze sprawdzanie rozszerzenia przesyłanego pliku
|
|
|
9.12.2006, 12:08:30
Post
#71
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
bardziej wiarygodną rzeczą jest mime, bo plik image/jpeg moze mieć rozszerzenie jpg jpeg jpe i wiele innch dziwnych, czy po prostu niepoprawnych, zdarzało mi się że miałem plik o rozszerzeniu jpeg a program graficzny poinformował mnie że to jest gif i zmienił rozszerzenie.
Ogólnie lepiej oprzeć na mime a nazwę i rozszerzenie tworzyć samemu, bo oprócz rozszerzenia mogą być "błędne" nazwy plików. Co do podanej przezemnie funkcji, to chyba po prostu zrobię ją sam (dość proste) tylko muszę znaleźć opis większej liczby formatów. Ale to będzie dość proste. (tak mi się wydaje) Ale ogólnie po prostu nie możemy polegać na tym co mamy przesłane czy to mime czy to rozszerzenie. Mimo wszystko jestem za tym aby plikom nadawać własne nazwy. -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
9.12.2006, 13:50:07
Post
#72
|
|
Grupa: Zarejestrowani Postów: 472 Pomógł: 7 Dołączył: 7.12.2005 Skąd: Gliwice Ostrzeżenie: (0%) |
http://pl.php.net/manual/pl/function.getimagesize.php
a lista mime'ów, które php obsługuje jako graficzne jest tu http://pl.php.net/manual/pl/function.image...o-mime-type.php Wszystkie typy mime znajdziesz na googlach: http://www.google.pl/search?hl=pl&q=mime+types -------------------- Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz! |
|
|
10.12.2006, 18:41:56
Post
#73
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
No to ten problem da się rozwiązać
Wystarczy wykorzystać: 0 string GIF image/gif 0 beshort 0xffd8 image/jpeg 0 string \x89PNG\x0D\x0A\x1A\x0A\x00\x00\x00\x0DIHDR image/png lub przy obrazkach można jak cadavre napisał wykorzystać getimagesize, a dokładniej coś co jest w manualu http://pl.php.net/manual/pl/function.getimagesize.php" title="Zobacz w manualu php" target="_manual Ale też można rozpoznać inne typy: 0 string BZh application/x-bzip2 itd. Już sobie odpowiedni kod wyklepałem, więc na przyszłość będę miał, no i to zagadnienie już mam troszkę rozpracowane. -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
10.12.2006, 18:49:29
Post
#74
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 0 Dołączył: 22.01.2006 Ostrzeżenie: (0%) |
Nie wynajdujcie koła na nowo. To wszystko już zostało dawno opracowane przez programistów php.
Jeśli chcecie wykryć typ pliku obrazu wtedy w zupełności wystarcza getimagesize() Natomiast jeśli jakiegokolwiek pliku to skorzystajcie z rozszerzenia Fileinfo i funkcji finfo_file() |
|
|
10.12.2006, 20:00:12
Post
#75
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
No tak jak ma się sklerozę... to trzeba się narobić
Ale głupio się czuję, przecież 'wiedziałem' że ta funkcja jest :/ No nic ale informacje i tak nie poszły na marne bo jeśli się pracuje u siebie na windowsie to trzeba mieć plik z mime (chyba, że znów popisuję się inteligencją czy raczej pamięcią) -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
31.01.2007, 13:44:38
Post
#76
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) |
Zabezpieczanie tablicy $_GET ( Żywcem wyjęte z maincore.php w php-Fusion )
Nie rozumiem tylko co robi ta linijka: Kod eregi("\([^>]*\"?[^)]*\)", $check_url) Z Wyrażeń regularnych to ja jestem cienki |
|
|
2.02.2007, 03:30:17
Post
#77
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
Tak mnie zastanawia co się stanie jeśli $_GET nie istnieje lub nie jest tablicą... (nie chce mi się teraz testować).
A jeszcze do podanego na drugiej stronie skryptu z flock, jest błędny, ponieważ ta funkcja zwraca true jeśli się jej uda a false jeśli nie, więc może wyjść, że plik jest używany zwróci false ale że nie sprawdzamy co zwraca skrypt leci dalej i robią się kłopoty. Trzeba więc sprawdzać co zwraca, gdzieś zamieściłem jedną propozycję ale była na tyle prosta (jak i mogąca zawiesić skrypt) że jej nie podam. -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
25.02.2007, 16:21:27
Post
#78
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 9.02.2007 Ostrzeżenie: (0%) |
Czy zabezpieczenie katalogu przez .htaccess jest 100% bezpieczne? Chciałbym trzymać konfigurację (między innymi hasło do mysql) w danym katalogu w plikach *.ini. Wiem, że istnieją inne metody zabezpieczania takich danych, ale czy .htaccess jest skuteczna?
|
|
|
26.02.2007, 08:51:32
Post
#79
|
|
Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) |
Czy zabezpieczenie katalogu przez .htaccess jest 100% bezpieczne? Chciałbym trzymać konfigurację (między innymi hasło do mysql) w danym katalogu w plikach *.ini. Wiem, że istnieją inne metody zabezpieczania takich danych, ale czy .htaccess jest skuteczna? nie ma metod całkowicie bezpiecznych, jednak ta jest jedną z lepszych na osiągnięcie tego co chcesz. Ten post edytował sopel 26.02.2007, 08:51:44 -------------------- "If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org |
|
|
2.03.2007, 23:03:09
Post
#80
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 2.03.2007 Ostrzeżenie: (0%) |
Witam, chciałbym się was zapytać, czy przedstawiony przeze mnie poniżej kod ma coś wspólnego z bezpieczeństwem
Korzystam obecnie z PHP Nuke i postanowiłem stworzyć własnego CMS'a do obsługi mojej strony www.paranormalium.pl Budując stronę główną nieopartą na tej dziurawej krowie, mając przy tym nikłe pojęcie o php, musiałem niestety zrobić małą, że tak to ujmę, prowizorkę, czyli same include i inne proste rzeczy... Potrzebuję tylko stworzyć jakiś w miarę prosty i bezpieczny zarazem skrypt, który wyświetlałby artykuły/linki/opisy książek i inne dane zapisane w bazie. Muszę się za to zabrać szybko bo się ostatnio na mnie uwzięła grupa hakerów niszczących strony o tematyce paranaukowej |
|
|
Wersja Lo-Fi | Aktualny czas: 25.09.2024 - 17:37 |