![]() |
![]() |
![]()
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%) ![]() ![]() |
@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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 20:20 |