Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Bezpieczeństwo skryptów PHP, Jak zabezpieczyć się przed włamaniem
Diwi
post
Post #101





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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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
- - 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
- - nospor   a niby w jaki sposob chcesz zablokowac uzytkowniko...   2.03.2009, 18:36:46
- - erix   CytatSwoją drogą skrypt też musi mieć zabezpieczen...   2.03.2009, 18:39:15
- - mlattari   chyba się nie rozumiemy.... nie mam zamiaru nikomu...   2.03.2009, 19:17:40
|- - bełdzio   Cytat(mlattari @ 2.03.2009, 19:17:40 ...   2.03.2009, 19:36:19
|- - mlattari   Cytat(bełdzio @ 2.03.2009, 19:36:19 )...   2.03.2009, 23:22:44
- - erix   Cytatchodzi o to żeby użytkownik ręcznie nie podmi...   2.03.2009, 19:19:06
- - mlattari   hehe no i o takie rozwiązanie mi chodziło i chyba ...   2.03.2009, 19:23:12
|- - rzymek01   Cytat(mlattari @ 2.03.2009, 19:23:12 ...   2.03.2009, 21:14:19
- - erix   Cytatże to tylko dodatkowe obciążanie bazy danych ...   2.03.2009, 21:43:55
- - bełdzio   kombinujesz jak chcesz sie zabezpieczyc przed wyw...   2.03.2009, 23:36:52
- - mlattari   Dzieki :-) Chyba będę musiał poczytać :-) Cytat(b...   3.03.2009, 13:50:38
|- - bełdzio   Cytat(mlattari @ 3.03.2009, 13:50:38 ...   3.03.2009, 14:01:31
|- - mlattari   Cytat(bełdzio @ 3.03.2009, 14:01...   6.03.2009, 01:27:07
- - Kocurro   I oczywiście bełdzio dasz sobie czapkę z avatara z...   3.03.2009, 14:13:11
- - bełdzio   generalnie to czapki nie oddam a co do wtyczek si...   3.03.2009, 14:38:21
- - Kocurro   Był temat na forum kiedy o tym rozmawialiśmy - nie...   3.03.2009, 14:47:57
- - ucho   To mogło by popsuć wiele rzeczy nie tylko przy kor...   3.03.2009, 14:51:56
- - erix   Cytatwyprzedzeniem strony usun.php?token=najlepszy...   3.03.2009, 18:11:52
- - marcio   CytatNie w tym celu powstało zabezpieczenie przez ...   3.03.2009, 19:07:04
- - erix   A do wikipedii, to Waść zaglądał...?   3.03.2009, 23:04:06
- - marcio   Zagladac zagldalem ale nie zawsze w wikipedi jest ...   3.03.2009, 23:17:34
- - marcio   Nie wiem co robi diee_close() ale jesli nic nie zw...   6.03.2009, 15:10:05
- - mlattari   No masz racje :-) U mnie jest rzeczywiście mało l...   6.03.2009, 15:42:24
- - erix   Cytatno i chyba przyda się linuchowy sed do pododa...   6.03.2009, 22:37:26
- - marcio   Cytat(erix @ 6.03.2009, 22:37:26 ) ob...   7.03.2009, 16:51:50
- - mlattari   Prawdopodobnie można zbuforować zawartość stronki,...   7.03.2009, 17:23:47
- - erix   Tak, jak to robi mechanizm sesyjny dopisując SID w...   7.03.2009, 21:03:28
- - looooonger   przejrzałem posty w tym temacie, i ogólnie to wszy...   28.03.2009, 23:09:52
|- - bełdzio   Cytat(looooonger @ 28.03.2009, 23:09...   28.03.2009, 23:39:48
- - nieraczek   Chciałem dowiedzieć się jak zabezpieczać się przed...   11.04.2009, 17:05:38
- - bełdzio   nie przeciez zamiast odwolywac sie do adresu /prof...   11.04.2009, 18:31:29
- - nieraczek   bełdzio wielkie dzięki - dzięki Tob...   24.05.2009, 11:54:39
- - bełdzio   wystarczy ze stworze na swojej stronie formularz z...   24.05.2009, 14:09:23
- - nieraczek   A jak macie formularze, np. żeby było ba...   12.06.2009, 08:47:02
|- - bełdzio   Cytat(nieraczek @ 12.06.2009, 09:47:0...   12.06.2009, 16:06:41
- - pyro   Najprostszym zabezpieczeniem przed atakami CSRF je...   12.06.2009, 08:52:23
- - nieraczek   Ale nie chodzi mi o ataki csrf tylko ataki wykonan...   12.06.2009, 10:15:28
- - Crozin   Rozumie. Tylko nie widzę pytania... bo na jedyne j...   12.06.2009, 10:48:19
- - pyro   Dopisująć się do Crozina: @nieraczek, wygląda na ...   12.06.2009, 11:15:26
- - Crozin   @bełdzio: A co jak ustawisz ID użytkownika, które ...   12.06.2009, 16:44:03
|- - bełdzio   Cytat(Crozin @ 12.06.2009, 17:44:03 )...   12.06.2009, 19:49:04
- - Zgredzik   Czesc, mam pytanie dotyczace tablicy $_POST. ...   13.06.2009, 17:04:20
- - cojack   Nie wiem było nie było, erix mnie już zbeształ że ...   17.06.2009, 21:58:36
- - nieraczek   A mogę wiedzieć w czym ta funkcja _Strip...   18.06.2009, 07:10:59
- - cojack   Nie rozumiesz... strip_tags usuwa znaczniki html, ...   18.06.2009, 14:12:05
- - nieraczek   A po co wywalać skrypty js skoro strip_tags() spra...   18.06.2009, 14:54:53
- - erix   [HTML] pobierz, plaintext <a href='test' onclic...   18.06.2009, 16:15:53
- - nieraczek   Nie bardzo rozumiem - zrobiłem specjalnie formular...   18.06.2009, 17:07:13
- - Crozin   IMO strip_tags to jedna z durniejszych funkcji. Kt...   18.06.2009, 17:34:08
- - nieraczek   Ok Crozin - ale istnieje w końcu coś co ...   18.06.2009, 17:43:14
- - kamil4u   Zdecydowanie jestem za ~Crozin-em , więcej w tym w...   18.06.2009, 17:44:53
- - nieraczek   Ale chodzi o to, że w całym tym wątku co kilka pos...   18.06.2009, 17:53:30
|- - bełdzio   Cytat(nieraczek @ 18.06.2009, 18:53:3...   18.06.2009, 22:13:59
- - erix   CytatNie bardzo rozumiem - zrobiłem specjalnie for...   18.06.2009, 19:04:11
- - nieraczek   "Blah, pomyślałem o czym innym. [; " - w...   18.06.2009, 19:20:49
- - WebCM   Cytatludzie próbują pisać własne wersje tych dwóch...   18.06.2009, 23:05:29
- - cojack   Ale macie problemy, jak komuś jest potrzebne strip...   19.06.2009, 15:27:48
- - Crozin   A mnie zastanawia po jakie licho Ci preg_matche w ...   19.06.2009, 15:33:22
- - legalizetrawka   Co wy na to, żeby zamiast backslashowania dan...   20.07.2009, 12:43:56
- - fifi209   Cytat(legalizetrawka @ 20.07.2009, 12:43...   20.07.2009, 12:46:27
4 Stron V  < 1 2 3 4 >


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: 15.10.2025 - 19:32