Bezpieczeństwo skryptów PHP, Jak zabezpieczyć się przed włamaniem |
Bezpieczeństwo skryptów PHP, Jak zabezpieczyć się przed włamaniem |
5.05.2005, 13:21:40
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 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 Pozdrawiam // prosiłbym moderatorów (jeżeli można) o przyklejenie tego tematu --- Przyklejone - hwao |
|
|
30.05.2006, 09:26:45
Post
#2
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 30.05.2006 Ostrzeżenie: (0%) |
to może trochę sprecyzuję
Te zagrożone formularze na stronie wykorzystuję do przesyłania maili do konkretnego wskazanego odbiorcy w firmie. Jedne z formularzy to typowy formularz kontaktowy (imie, nazwisko, mail, twoja opinia), drugie to ankiety (dużo radiobuttonów, kilka textarea, kilka checkboxów) Jakiś czas temu, ktoś zaczął podpinać się zewnetrznym formularzem i rozsyłać spamy - pakowali swoje nagłówki w maila i mieli pełną swobodę. Dlatego zastosowałem htmlspecialchars(strip_tags($_POST), ENT_QUOTES); - dało to taki efekt że przypinane zewnętrznie headers wyglądają mniej więcej tak: Content-Type: text/plain; charset=\"us-ascii\" więc już jest bezpieczniej, $_SERVER['HTTP_REFERER'] =='url' powinno mnie chyba zabezpieczyć dość skutecznie przed podpinaniem się zewnętrznym formularzem pod mój? |
|
|
30.05.2006, 09:29:06
Post
#3
|
|
Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) |
$_SERVER['HTTP_REFERER'] =='url' powinno mnie chyba zabezpieczyć dość skutecznie przed podpinaniem się zewnętrznym formularzem pod mój? Cytat("sopel") $_SERVER['HTTP_REFERER'] nie nawsze jest ustawiane,a moze tez sie roznic jak przechodzi przez rozne proxy
-------------------- "If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org |
|
|
Wersja Lo-Fi | Aktualny czas: 19.06.2024 - 23:40 |