Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czy można w jakikolwiek sposób podejrzeć zawartość inkludowanego pliku php?
Forum PHP.pl > Forum > PHP
windman
Witam,

Czy można podejrzec zawartość (kod) inkludowanego pliku php?
Jeżeli skrypt A na serwerze A inkluduje jakiś plik php z serwera B, to czy skrypt A może wyświetlić/ujawnić zawartość inkludowanego pliku php?

Pozdrawiam
blooregard
Nie można bez fizycznego dostępu do ftp-a, chyba, że pliki PHP mają rozszerzenie inne, niż interpretowane przez serwer jako PHP (np. .inc) lub występuje np. sytuacja podobna do tej:
http://rafjan.pl/lfi_cs.html
nospor
nie.
No chyba ze skrypt na serwerze B jest do pobrania ot tak sobie bez przemielenia przez php.
flashdev
Cytat(nospor @ 4.03.2010, 10:54:52 ) *
nie.
No chyba ze skrypt na serwerze B jest do pobrania ot tak sobie bez przemielenia przez php.


Bo gdyby tak nie było, to nie można by było includować go w skrypcie A jako kod php.
Pytanie jest conajmniej dziwne.
nospor
Cytat
to nie można by było includować go w skrypcie A jako kod php
autor nie napisal ze chce includowac jako skrypt php. Includowac mozna nie tylko pliki php jako skrypt php winksmiley.jpg
phpion
Hmmm, a mi się wydaje, że może. Z tego co rozumiem, to autorowi tematu chodzi o to, że ma przygotowany jakiś skrypt (np. sprawdzenie licencji), który ma być dołączany (includowany) przez skrypty klientów (na innych serwerach). Wobec tego w skrypcie klienta musi być include('licencja.php'). Co jeśli klient zmieni include na np. readfile?
nospor
@phpion jesli plik jest parsowany przez serwer to readfile zwroci ci to, co zwraca wykonanie tego kodu php.
windman
Cytat(phpion @ 4.03.2010, 11:08:15 ) *
Z tego co rozumiem, to autorowi tematu chodzi o to, że ma przygotowany jakiś skrypt (np. sprawdzenie licencji), który ma być dołączany (includowany) przez skrypty klientów (na innych serwerach).

Już wyjaśniam o co pytam...

Na serwerze A w pewnym skrypcie inkluduje plik php znajdujacy się na serwerze B oraz zawierajacy ciało pewnej klasy. Chce aby skrypt na serwerze A korzystał z tej klasy ale nie mógł podejrzeć jej ciała (kodu).

Nigdy czegoś podobnego nie robiłem i nie wiem czy to będzie działać...
nospor
NO to nie zadziała. include z innego serwera zwraca wynik działania skryptu. Wynikiem nie jest interpretacja kodu php, ale to co kod php zwraca (np. kod html)

chyba ze jak mowilem: serwer B nie interpretuje kodu php tylko go zwraca. wowczas mozesz sobie pobrac kod php i przeleciec go np. evalem
flashdev
Cytat(windman @ 4.03.2010, 11:29:05 ) *
Już wyjaśniam o co pytam...

Na serwerze A w pewnym skrypcie inkluduje plik php znajdujacy się na serwerze B oraz zawierajacy ciało pewnej klasy. Chce aby skrypt na serwerze A korzystał z tej klasy ale nie mógł podejrzeć jej ciała (kodu).

Nigdy czegoś podobnego nie robiłem i nie wiem czy to będzie działać...


Możesz na serwerze A pobierać kod z serwera B. Następnie wrzucić go do tymczasowego pliku, wykonać i usunąć.
Domyślam się, że chcesz publicznie udostępnić jakiś skrypt, ale tak, żeby osoby z niego korzystające nie widziały kodu jaki się wykonuje.
Jeśli jest tak jak piszę, to nie uda Ci się tego kodu ukryć w 100%.
windman
Cytat(flashdev @ 4.03.2010, 11:34:58 ) *
Domyślam się, że chcesz publicznie udostępnić jakiś skrypt, ale tak, żeby osoby z niego korzystające nie widziały kodu jaki się wykonuje.

Jest dokładnie tak jak piszesz.
flashdev
Cytat(windman @ 4.03.2010, 11:36:27 ) *
Jest dokładnie tak jak piszesz.


A więc mozesz zrobić tak jak napisałem powyżej.
- pobierasz kod przez odpowiedni interfejs
- wrzucasz go do tymczasowego pliku na lokalnym serwerze
- wykonujesz
- usuwasz

Część osób może się zniechęcić do dalszego poszukiwania kodu, ale można to oczywiście ominąć, chociażby usuwając ostatni podpunkt.
phpion
Cytat(nospor @ 4.03.2010, 11:16:10 ) *
@phpion jesli plik jest parsowany przez serwer to readfile zwroci ci to, co zwraca wykonanie tego kodu php.

Racja, mój błąd.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.