Autor wpisu: cichy, dodany: 27.11.2013 01:33, tagi: php
Full Path Disclosure (FPD) w skrócie to podatność aplikacji i/lub konfiguracji serwera polegająca na upublicznieniu pełnej ścieżki dostępu do plików. Z pozoru niegroźna rzecz może być kluczowa dla przeprowadzenia bardziej szkodliwych ataków wymagających znajomości wspomnianej lokalizacji plików. W tym wpisie chciałbym pokazać tą podatność zarówno od strony atakującego jak i od strony osoby zajmującej się serwerem / aplikacją internetową podatną na FPD. Środowisko testowe zostało zbudowane z podatnej aplikacji napisanej w języku PHP na serwerze Apache 2.
1. FPD – jak wykryć podatność
Wśród technik wykorzystania tej podatności najprostszą jest po prostu próba przemycenia innego typu parametrów niż spodziewa się skrypt. Jako przykład może posłużyć nam adres:
http://example.com/index.php?page=Home
widząc taki adres możemy sobie zadać pytanie a co jeżeli skrypt otrzyma dane innego typu ? prowadzeni tą myślą wpisujemy w przeglądarce zmieniony URL:
http://example.com/index.php?page%5B%5D=Home
Jeżeli aplikacja nie sprawdza typu zmiennej $_GET['page'] oraz serwer jest błędnie skonfigurowany możemy zobaczyć coś takiego:
Notice: Array to string conversion in /var/users/janek/www/index.php on line 13
Jak widać niechciany komuniakt o błędzie zawiera pełną ścieżkę do pliku index.php.
Druga metoda, którą chciałbym przedstawić dotyczy zależności w plikach php wyobraźmy sobie sytuację w której mamy 3 pliki:
1.php o treści