Post
#1
|
|
|
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:
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:
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:
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 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%)
|
Ivellios przeczytaj to co już jest, tam znajdziesz odpowiedź.
Musisz wiedzieć o 'grubszych' dziurach jakie się zdarzają sam, bo tak każdy skrypt byś musiał komuś podsyłać aby sprawdzić. Co do tego co podałeś, to jeśli pid jest polem typu liczbowego, to powinieneś sprawdzić czy $_GET['id'] jest liczbą, jak jest to dobrze jak nie to ignorujesz. A addslash w takim wypadku jest zbędny, bo jak jest liczbą to nie może mieć innych znaków. |
|
|
|
Diwi Bezpieczeństwo skryptów PHP 5.05.2005, 13:21:40
bregovic Zaczynając od podstaw, to jakiekolwiek używanie zm... 5.05.2005, 15:49:34
Wave A najczęstszym błędem jest stosowanie zmiennych be... 5.05.2005, 16:24:58
sopel Cytat(bregovic @ 2005-05-05 15:49:34)Zaczynaj... 5.05.2005, 16:36:52
Speedy To ja dodam od siebie jeszcze, że niektóre osoby p... 5.05.2005, 17:06:27
yavaho Mozna nieco przefiltrowac zmiena ktora pzechowuje ... 8.05.2005, 15:03:31
matid Cytat(yavaho @ 2005-05-08 16:03:31)@Speedy cz... 8.05.2005, 17:06:28
sopel Cytat(matid @ 2005-05-08 17:06:28)Cytat(yavah... 8.05.2005, 17:27:21
Ociu sprawdzanie $_GET'ów etc. :
[PHP] pobierz... 8.05.2005, 18:21:25
vala a nie lepiej zrobic prosty switch ?
ustalimy sobie... 14.05.2005, 18:52:01
AxZx Cytat(vala @ 2005-05-14 17:52:01)a nie lepiej... 21.05.2005, 12:24:56
sopel Cytat(AxZx @ 2005-05-21 12:24:56)@Vala - mozn... 21.05.2005, 13:19:52
Lars ja mam prosty skrypt:
[PHP] pobierz, plaintext ... 1.07.2005, 08:45:41
sopel Cytat(Lars @ 2005-07-01 08:45:41)czy file_exi... 1.07.2005, 09:25:20
yavaho Cytatczy file_exists zabezpiecza includowanie z in... 1.07.2005, 09:42:14
gu35t pamietejcie o zonku jaki moze zrobic haxior znakie... 1.07.2005, 11:18:56
sopel 1. kolega pytal tylko czy mozna otworzyc w ten spo... 1.07.2005, 11:22:21
Lars co do: http://www-users.mat.uni.torun.pl/~ghost/i.... 3.07.2005, 19:52:24
sopel Cytat(Lars @ 2005-07-03 19:52:24)co do: http:... 3.07.2005, 20:00:01
Vengeance @bregovic:
Twój sposób
[PHP] pobierz, plaintext ... 7.07.2005, 19:55:39
dr_bonzo A wystarczy dodac
$tablica = array();
przed ... 8.07.2005, 14:41:45
Lars Jeżeli już trzeba zrobić coś t... 24.07.2005, 13:10:05
Vaticinator A jest jakaś możliwość, żeby wybrane pliki dało si... 16.09.2005, 11:21:56
sopel Cytat(Vaticinator @ 2005-09-16 11:21:56)A jes... 16.09.2005, 11:40:41
bregovic Cytat(Vaticinator @ 2005-09-16 11:21:56)A jes... 28.09.2005, 15:18:54
mike_mech W związku z ostatnim postem tutaj, który poruszał ... 21.11.2005, 00:18:04
huntercs Ja stosuję w sumie proste rozwiązanie, dodaje tylk... 1.03.2006, 10:50:25
nospor No ale poco trzeba pisac nazwe skryptu? Skoro i ta... 1.03.2006, 10:56:44
mike_mech ~huntercs możesz to zrobić bardziej elastycznie i ... 1.03.2006, 10:57:57
vedeney I like php-coding in this way
[PHP] pobierz, plai... 1.03.2006, 18:17:47
ave nie prosciej switch-em ?
[PHP] pobierz, plaintext ... 6.03.2006, 13:57:15
Speedy Switch może być dobry w przypadku, gdy jest mało s... 6.03.2006, 16:07:32
the_foe Jezeli programuje obiektowo to automatyzuje wybier... 7.03.2006, 19:30:46
LamaMASTER Cytat(Diwi @ 2005-05-05 12:21:40)1. Złe używa... 11.04.2006, 21:50:27
nospor CytatLudzie litości! Wielkie zabezpieczenia, a... 11.04.2006, 21:58:04
kszychu A ja z kolei dodam, że3 należałoby się przyjrzeć s... 12.04.2006, 08:32:56
LamaMASTER Na moim serwerze taki trick nie działa, dlatego by... 12.04.2006, 11:32:16
nospor I tylko dlatego, ze u ciebie ten trick nie dziala,... 12.04.2006, 11:34:48
LamaMASTER Cytatps: wspominales cos o zwróceniu honoru... jak... 12.04.2006, 17:46:53
Vengeance Ale przy postgresql, mssql czy oracle to już zadzi... 12.04.2006, 17:52:35
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
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 ![]() ![]() |
|
Aktualny czas: 23.11.2025 - 12:44 |