Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

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





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
- - Kocurro   Też kiedyś myślałem o użyciu base64 ... ale potem ...   20.07.2009, 12:50:59
- - erix   CytatCo wy na to, żeby zamiast backslashowania dan...   20.07.2009, 12:53:31
- - nospor   Cytatto jak chcesz po base64 szukaćerix, ale ...   20.07.2009, 12:54:57
- - erix   ~nospor, ale wady przeważają nad korzy...   20.07.2009, 12:58:21
- - nospor   @erix ale te mrugniecie oka zauwazyles na koncu mo...   20.07.2009, 12:59:31
- - pyro   Po co ludzie kombinują na już ósme i dziesiąte spo...   20.07.2009, 13:08:49
|- - fifi209   Cytat(pyro @ 20.07.2009, 13:08:49 ) P...   20.07.2009, 13:16:54
- - andycole   a nie wystarczy calkowite strip_tags() (uzywamy bb...   16.08.2009, 12:23:34
- - erix   A może byś tak ten wątek od początku przeczytał......   17.08.2009, 11:00:50
- - maly_pirat   Cześć, a jak wygląda sprawa tablic (ARRAY)? Da się...   21.11.2009, 11:17:21
- - andycole   W podanym przez Ciebie przykladzie nie ma szansy n...   21.11.2009, 12:01:01
- - xajart   Jak zabezpieczać sesje? A właściwie to chodzi mi o...   21.11.2009, 13:57:41
- - erix   1: Hmm, na większość Twoich pytań najlepszą odpowi...   21.11.2009, 15:03:24
- - xajart   Co do punktu 5 to nie wpadłem na takie rozwiązanie...   23.11.2009, 19:15:50
- - AboutMe   Chciałbym w komentarzach dać możliwość userom wpis...   15.12.2009, 13:14:00
- - Tetris   Witam Ostatnio rejestrowałem się na sfd.pl i tam ...   3.03.2010, 19:49:21
|- - fifi209   Cytat(Tetris @ 3.03.2010, 19:49:21 ) ...   3.03.2010, 19:56:16
- - Tetris   Czyli lepiej dać to i to:) Pozdrawiam   3.03.2010, 20:00:45
- - Zyx   Sposób będzie odporny na boty, dopóki się nie upow...   3.03.2010, 20:02:01
|- - fifi209   Cytat(Zyx @ 3.03.2010, 20:02:01 ) Spo...   3.03.2010, 20:43:34
- - Crozin   @fifi209: a to ta strona www.stopforumspam.com nie...   3.03.2010, 21:18:05
|- - fifi209   Cytat(Crozin @ 3.03.2010, 21:18:05 ) ...   3.03.2010, 21:25:31
- - Spawnm   Hey pytanie o bezpieczeństwo , co jest lepsze do z...   24.05.2010, 20:34:05
- - thek   Ja uważam, że to drugie z ustawionymi flagami na s...   25.05.2010, 21:08:57
- - pyro   A według mnie ta pierwsza metoda. Jest czytelniejs...   27.05.2010, 20:28:39
|- - fifi209   Cytat(pyro @ 27.05.2010, 21:28:39 ) A...   27.05.2010, 21:07:01
|- - Spawnm   Cytat(pyro @ 27.05.2010, 21:28:39 ) ....   27.05.2010, 21:19:21
- - zend   @pyro - mógł byś podać argumenty/źródła dzięki któ...   27.05.2010, 21:00:07
- - pyro   A który konkretnie argument masz na myśli?   27.05.2010, 21:05:09
- - pyro   Wiem, że o tego posta mu chodziło, ale pytałem o k...   27.05.2010, 21:15:38
- - pyro   Nie wiem czy się da (nie wiem czy ktoś już się pot...   27.05.2010, 21:23:01
- - Spawnm   Hey chcę dać userowi możliwość wstawiania linków p...   8.07.2010, 10:21:37
- - wookieb   Usunięcie ciągu javascript oraz wywalenie " j...   8.07.2010, 10:27:31
- - Spawnm   A po co wywalenie ciągu javascript? Link zawsze za...   8.07.2010, 10:30:37
- - wookieb   A to kurcze już nie pamiętam jak to było To wtedy...   8.07.2010, 10:35:15
- - Spawnm   Hmm , pośpieszyłem się z tym '%20' i ...   8.07.2010, 10:41:52
- - bełdzio   o ile się nie mylę to niektóre przeglądarki też ob...   8.07.2010, 18:20:40
- - Crozin   CytatHey chcę dać userowi możliwość wstawiania lin...   8.07.2010, 19:50:20
- - Soulast   A jak najlepiej zapobiec zarejestrowanemu użytkown...   11.07.2010, 11:23:59
|- - kilas88   Cytat(Soulast @ 11.07.2010, 12:23:59 ...   11.07.2010, 11:33:10
- - bełdzio   mail też jest słabym pomysłem - jest pełno serwisó...   11.07.2010, 13:03:26
- - H4eX   Można zrobić listę dozwolonych maili.   11.07.2010, 13:18:59
- - Soulast   No ale również to nie jest żaden problem poświęcić...   12.07.2010, 09:56:06
- - andycole   Soulast, http://forum.php.pl/index.php?showtopic=...   13.07.2010, 13:35:18
- - Spawnm   Hey, mam pytanie jak najlepiej zabezpieczyć upload...   9.10.2010, 11:04:57
|- - bełdzio   Cytat(Spawnm @ 9.10.2010, 12:04:57 ) ...   9.10.2010, 18:09:26
- - Crozin   Servie? A zresztą nieważne. Normalnie, wrzucasz j...   9.10.2010, 11:12:55
- - Spawnm   Bełdzio czytałem kiedyś, tylko zastanawiam się czy...   9.10.2010, 18:36:52
|- - bełdzio   Cytat(Spawnm @ 9.10.2010, 19:36:52 ) ...   10.10.2010, 12:17:32
- - andycole   Crozin dobrze pisze, zablokować wykonywanie plików...   9.10.2010, 18:50:22
- - hind   regułka w mod_rewrite żeby wszystko przekierowywał...   12.10.2010, 08:31:52
- - bełdzio   tyle, że samym readfile też można sporo namieszać ...   12.10.2010, 10:24:13
- - hind   Owszem, może ale wystarczy dodać sprawdzanie nazwy...   12.10.2010, 11:20:07
- - Spawnm   Hey, co to za rodzaj ataku że komuś się dolepia do...   15.11.2010, 13:09:01
- - hind   zobacz sobie raw post data, php://input zawiera ni...   15.11.2010, 14:27:57
- - Spawnm   hey, powiedzcie jak się zabezpieczacie przed ataka...   2.01.2011, 21:15:33
- - Crozin   A co jeśli wyłączę sobie wysyłanie nagłówka REFERE...   2.01.2011, 21:17:39
- - wookieb   1) Wysłanie postem 2) Wymagany dodatkowy losowy kl...   2.01.2011, 21:18:44
- - batman   1. Wysyłaj dane postem (słabe zabezpieczenie). 2. ...   2.01.2011, 21:22:49
- - Chillout   A czy nie dałoby radę zabezpieczyć plików przed po...   25.01.2011, 00:57:39
|- - pyro   Cytat(Chillout @ 25.01.2011, 00:57:39...   18.02.2011, 20:57:41
- - ZuyPan   Tak sobie czytam i czytam ten temat i doszedłem to...   26.07.2011, 11:26:47
|- - pyro   Cytat(ZuyPan @ 26.07.2011, 12:26:47 )...   8.08.2011, 14:14:49
- - erix   A może by tak przeczytać CAŁY temat i nie siać her...   27.07.2011, 08:39:13
- - ZuyPan   Przeczytałem cały temat, ale uwierz mi - te wasze ...   27.07.2011, 09:01:32
- - evilpr0   A ja mam takie pytanko, co z takim kodem? [PHP] p...   9.10.2011, 23:26:41
- - adam882   @evilpr0 Twój kod jest OK   31.10.2011, 22:56:58
- - Orzeszekk   A co jezeli includujemy pliki bezposrednio uzywaja...   31.10.2011, 23:50:41
- - by_ikar   CytatJesli juz ktos koniecznie chce brac bezposred...   1.11.2011, 00:13:03
- - rumpelek   uFF... minęło 30 minut od kiedy zacząłem czytać te...   9.01.2012, 15:26:39
- - wookieb   Przed tym to ma zabezpieczać? Tutaj jedynie ucinas...   9.01.2012, 15:28:47
- - rumpelek   no ma zabezpieczać przed atakiem... szeroko rozumi...   9.01.2012, 17:02:58
- - vee   swoją drogą zamiast pisać tak: [PHP] pobierz, plai...   13.01.2012, 09:57:56
- - marcio   Elo co stosujecie przed csrf i full path disclosur...   13.01.2012, 11:48:02
- - erix   CytatElo co stosujecie przed csrf Bez tokenów racz...   13.01.2012, 22:51:38
- - marcio   CytatNiczego nie stosuję. Proces interpretera odpa...   14.01.2012, 13:47:40
- - erix   Dla mniej wtajemniczonych jest Google i Wikipedia,...   14.01.2012, 13:51:23
- - marcinek37   Kilka ostatnich dni spędziłem na analizie tego, co...   24.10.2012, 21:16:46
- - hind   1. powinno być za każdym razem generowane z osobna...   25.10.2012, 09:23:34
- - marcinek37   1. rozumiem, szkoda 2. to dla pewności lepiej wszy...   25.10.2012, 11:09:43
- - erix   za każdym razem. Bo wystarczy, że komuś podeślesz ...   25.10.2012, 12:24:24
- - hind   10. jak przejmiesz SID to co za problem (głównie a...   25.10.2012, 13:31:40
- - erix   CytatJedyne co w tym wypadku pozostaje to sprawdza...   25.10.2012, 13:39:28
- - hind   Najlepiej jakby każda otwarta karta miała swój wła...   25.10.2012, 13:56:19
- - marcinek37   1. wyjaśnione 2. wyjaśnione 3. Cytat(erix ...   28.10.2012, 17:58:47
|- - marcinek37   ok, więc skoro nie ma możliwości przed zabezpiecze...   31.10.2012, 11:10:23
- - Damonsson   Nie wiem czy dobrze zrozumiałem, ale chodzi o to, ...   29.10.2012, 12:21:22
- - CuteOne   Legendy głoszą, że na serwerach współdzielonych, m...   29.10.2012, 12:47:33
- - d3ut3r   To zależy od konfiguracji serwera, ale generalnie ...   29.10.2012, 13:22:59
- - marcinek37   kwestią zabezpieczeń serwera chyba nie muszę się m...   29.10.2012, 14:09:53
- - d3ut3r   Moim zdaniem jeżeli twoja strona będzie odporna na...   29.10.2012, 14:38:16
- - Damonsson   Załóżmy, że session_regenerate_id się nie wywołało...   29.10.2012, 21:53:54
- - hind   Nie ma takiej możliwości, chyba że umiesz w magicz...   30.10.2012, 08:08:53
- - CuteOne   Na twoim miejscu zamiast wymyślać koło na nowo(z m...   31.10.2012, 11:19:18
- - jaslanin   2. adresów IP raczej nie powinno się przechowywać ...   31.10.2012, 16:47:15
- - marcinek37   czy reasumując: 1. nie ma możliwości, aby napisać ...   1.11.2012, 20:12:43
|- - pyro   Cytat(marcinek37 @ 1.11.2012, 20:12:4...   25.11.2012, 19:33:07
- - jaslanin   Cytat1. nie ma możliwości, aby napisać system w te...   1.11.2012, 21:17:16
- - Damonsson   Ale 3. do słowa "prócz" chyba jest prawd...   25.11.2012, 19:41:10
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: 22.01.2026 - 00:49