![]() |
![]() |
![]()
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: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Wracajac do powyższej dyskusji na temat include to chcialbym i cos od siebie dodac.
Założmy, że manual klamie (to tak tylko na cele posta (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) i include nie pozwala dołączać URLi z zewnatrz. Ważne jest tez, że administrator nie wpadł na takowy pomysł i nie ma poistawionego Apache'a na chroocie. Mamy podany wyzej include o postaci:
Warto dodac ze skrypt taki umiescimy w pliku index.php No i teraz czas na zabawe, katalogi moga byc różne w zależnosci od Linuxa u mnie na jednym serwerze z OpenBSD i Apachem na chroocie oczywiscie nie dziala ale na drugim z Red Hatem mozna sie pobawic. Przekazujemy takie adresy http://domena/index.php?zmienna=/etc/my.cnf (jak mowilem w zaleznosci od serwera) i widzimy konfiguracje MySQLa, idzmy dalej http://domena/1.php?zmienna=/etc/passwd titaj mamy informacje o userach na serwerze adresow do tego typu plikow mozna szukac wiecej stopien niebezpieczenstwa zależy od stopnia wiedzy intruza. Ale to tak chcialem dorzucic bo nie lubie jak ktos pisze bzdury ze inni bzdury piszanie patrzac nawet do manuala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) zachowuje sie wtedy jak moj stary (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) tzn chodzbym mu dowod na pismie na cos przedstawil to stary i tak uwaza ze ma racje (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 02:11 |