PDA

Zobacz pełną wersję : Joomla explorer, apache i dziura ???



mpalyga
06-04-2006, 21:06
Hej Hej,
pisze bo wlasnie zaczalem sie zastanawiac nad jednym problem i nijak nie moge zrozumiec dlaczego tak jest. Moze na przykldzie gdzy bedzie prosciej:
jest sobie katalog a w nim podkatalogi w ktorych znajduja sie site'y z joomla, np.
/data/website_01
/data/website_02
/data/website_03

serwowane sa one przez apache'a ktory ma ustawione virtual hosty z dyrektowa:
DocumentRoot /data/webiste_0x
apache pracuje na uzytkowniku, ktory ma prawa pisania do katalogow /data/website_0x (w koncu trzeba miec mozliwosci uploadu danych).

Na jednym z site'ow zainstalowany jest joomla explorer (powiedzmy website_01) i tu ciekawostka (przynajmniej jak dla mnie). Joomla Explorer ma prawo wgladu do katalgu nadrzednego site'u z ktorego zostal uruchomiony, czyli do /data a co z tym sie wiaze do zawartosci katalogow rowniez website_02 i website_03.
W prosty sposob mozna temu zaradzic poprzez zagniezdzenie katalogow:
/data/chroot01/website_01
/data/chroot02/website_02
/data/chroot03/website_03
wowczas wychodzimy tylko o jeden katalog w gore i juz nie widzimy innych katalogow (website02 i website03).

Uf mam nadzieje ze w miare jasno zarysowalem problem i jest on dla was zrozumialy.

Ja natomiast zastanawiam sie nad kilkoma rzeczami:
- jakim cudem apache pozwolil na wyjscie do katalogu nadrzednego przy pomocy joomla explorer
- jesli mozna wyjsc do katalogu nadrzednego to moze uda sie wyjsc jeszcze kilka poziomow wyzej (w sumie jeszcze nie wiem jak to obejsc ale wlasnie sprawdzam ;)

moze macie jakies pomysly dlaczego tak sie dzieje i dlaczego taka operacja jest mozliwa. Ja troche googlowalem ale nic ciekawego nie znalazlem.

pozdr i z gory dzieki za odpowiedz
m.

jak dodatek podam ze konfiguracja apache jest domyslnie na:
<Directory />
Options none
Order deny,allow
Deny from all
AllowOverride None
</Directory>

i pozniej na poszczegolne katalogi
<Directory /data/website_0x/>
Order Deny,Allow
Allow from All
Options None
AllowOverride None
</Directory>

Rybik
06-04-2006, 21:21
ciekawe, szkoda, że się na serwerach za bardzo nie znam, ale gdzieś mi się obiło o uszy, że JoomlaExplorer udaje usera "appache" i ma w nosie ograniczenia, tylko czemu dodatkowe zagnieżdżenie rozwiązuje sprawę ?

frico
06-04-2006, 22:49
Mam pytanie, jakie uprawnienia mają katalogi /data/chroot0x ? (w tym UID/GDI) i w jaki sposób zakładasz poszczególne katalogi (ftp, shell, www) ?

Bo teoretycznie Joomla Explorer powinien móc "łazić" po całym katalogu i podkatalogach przeznaczonych na www. Co oczywiście niekoniecznie jest dobre. W każdym razie sprawa jest interesująca i być może przydatna dla bezpieczeństwa niektórych serwisów.


Pozdrawiam
frico

mpalyga
06-04-2006, 23:10
Frico:
prawa na katalogach /data/chroot0x sa takie na jakich pracuje apache i by moc pisac w tym katalogu (apache, www, nobody, whatever), wiec teoreycznie mozna tam pisac.

z tego co zawyazlem joomlaXplorer wychodzi tylko do katalogu nadrzednego i nie ma mozliwosci wyjscia wyzej z jej poziomu.

z tego sparwdzilem majac ustawione dyerktywy w apache ze wszystko od / jest blokowane i nie mozna tych danych przegladac, to dyerktywy Order deny,allow i pozniej Allow from All wlasnie odblokowywuje ci mozliwosci przegladania katalogow podrzednych.

w golym apache te dyerktywy zabezpieczaja ci wlasnie mozliwosci przegadania katalogow zagniezdzonych do tych ktore chcesz przegladac. po prostu na samym apache to dziala i nie ma zadnych przeslanek by nie stosowac tego typu mechanizmu.

Co do joomlaXplorer, to wlasnie nie wiem w jaki sposob joomlaXplorer ma mozlisoci wyjscia o ten wlasnie jeden katalog wyzej, co w przypadku umieszania wielu site'ow w jednym katalagu moze spowodowac iz mamy prawa do zapisu w katalogach ktore do nas nie naleza (w tym przypadku tracimy nawet uzytkownika i haslo do bazy, co moze spowodowac iz osoba nieuprawniona dobierze sie do naszych danych).

na razie jeszcze nie jest gotowy by debugowac kod componentu ale powoli sie do tego zbieram ;)

Rybik:
jesli chodzi o uzytkownika o ktorym mowisz to joomlaXplorer pod nikogo sie nie podszywa tylko po praostu pracuje na uzytkowniku i w pelni pracuje zgodnie z prawami ktore ma ten uzytkownik. wszystko jest w jak najlepszym porzadku z tym jednak szczegolem iz sam apache nie powienien pozwolic na wyjscie do katalogu nadrzednego.
Zaznaczam ze ne mam tu zadnych dyrektyw followsymlink ustawionych i mozliwosci wypuszczenia w jakis sposob apache do katalogu nadrzednego. Jak juz pisalem wyzej, goly apache dziala jak trzeba.

btw. jestes tu adminem, nie znasz jakis guru na tym forum co maja w jednym paluszki wszystkie myki odnosnie joomli.

pozdr
m.

ps. jak bede mial chwile to potestuje ten sam komponet na innych wersjach joomli i moze jeszcze na mambo. Ale do tego to chyba musze urlop sobie wziac.

frico
06-04-2006, 23:29
Mpalyga, bierz urlop i testuj :D Bo wątek ciekawy.
Swoją drogą to, co napisałeś do Rybika to nie dokońca tak. Bo w końcu joomlaXplorer chodzi jako nobody, a moje rzeczy jako user. Przynajmniej u mnie. I tak było od pierwszego wydania.

Oczywiście, należy wziąść pod uwagę ustawienia samego serwera. Niestety hostując serwisy u usługodawcy nie można sobie w tym "pogrzebać" i raczej jest się skazanym na odgórne ustawienia.

Na starej instalacji (mambo + mamboxplorer) dało się wejść w każdy podkatalog katalogu ustawionego jako DocumentRoot apacha.


Pozdrawiam
frico

mpalyga
07-04-2006, 10:38
Frico,
no niezupelnie jest tak jak mowisz... apache dziala w taki sposob iz podajasze w dykerktywach user i group uzytkownika na ktorym chcesz by dzialal (np. www. nobody). apache po wystarowaniu uruchamia proces na uzytkowniku root (ten proces zajmuje sie nadzorem nad procesami potomnymi i nie przyjmuje zadnych requestow), a ten z kolei forkuje na uzytkowniku i grupie zdefiniowanych w konfiguracji apache (te procesy przyjmuja zgloszenia do apache i serwuja odpowiednie pliki).
inna bajka jest suexec ktory pozwala na w jakis sposob uruchamianie skryptow na danycm uzytkowniku zdefiniowanym w konfiguracji suexec (jak dokladnie to dziala, ale sie z doktoryzuje jak mi bedzie potrzebne)
ale to tak poza temtem tematem bylo ....

wracajac jednak do watku ....

z tego co jeszcze wczoraj posnifalem ... to:
- sam apache dziala poprawnie i nie ma mozliwosci wyjscia powyzej katalogu zdefiniwanego w dyrektywie RootDirectory (i tu jest tak jak mowiles, apache umozliwia takie operacje, natomiast wyjscie powyzej root directory jest niemozliwe - pomjajac oczywiscie jak juz pisalem symlinki i takie tam)
- jesli apache dziala z php to chyba wlasnie php umozliwia w jakis blizej niezdefiniowany sposob wyjscie na katalog powyzej zdefiniowanego w RootDirectory w apache.

Wiec wg mnie problem jest z php i samym joomlaXplorer, ktory zostal napisany wlasnie w taki sposob by omijaj dyrektywy apache. Jak znajde jakies rowiazanie to poinformuje tu n forum.

a i jeszcze pewnie mi zostanie napisanie do tworcow joomlaXplorer z pytaniem jaki mieli cel by tak wlasnie napisac ten komponet.

m.

ps. urlopu to pewnie nie dostane ale w weekend zamiast raczyc sie browarem to pewnie sieade i bede kombinowal co tu zrobic by takich dziury wyeliminowac ...

Rybik
08-04-2006, 02:33
nie ma wszystkowiedzacych, joomla i komponenty to lata pracy sporej liczby ludzi (tez bym czasem chcial wiedziec wszystko :) )

awrobl
24-09-2006, 15:19
Wystarczy ograniczyć PHP aby nie wychodziło poza DocumentRoot i JoomlaXplorer będzie pokazywał tylko co powinien.

Przykład konfiguracji :
<VirtualHost website_01:80>
...
DocumentRoot /data/website_01
php_admin_value open_basedir /data/website_01
...
</VirtualHost>

dlp
02-07-2008, 03:05
Witam
wątek widzę nieużywany od dawna, ale sporo tu treści które mnie interesują.

Jakoś wcześniej nie korzystałem za bardzo z joomlaexplorera i dzisiaj zdębiałem gdy po jego zainstalowaniu wyszedłem przy pomocy tego komponentu z własnego konta domenowego i mogłem poprzegladać zawartość innych domen na resselerze Provider 30+

Wspominane tu jest że to apache i specyfika JoomlaExplorer ale jeśli serwery.pl reklamują Providera jako rozwiązanie do samodzielnego hostingu a tu wystarczy zainstalowana joomla z tym komponentem i wchodze gdzie mi się podoba to nie czuję się już tu bezpiecznie.

Czy ktoś drążył temat wychodzenia do katalogów (a nawet domen) nadrzędnych przy pomocy JoomlaExplorera?

Bartek_F
30-07-2008, 19:07
Pytanie tez czy w J Explorer albo Extplorer mozna gdziekolwiek przypisac "katalog domowy" tak zeby sam komponent sobie ograniczyl to wychodzenie powyzej?

robertsza
28-11-2008, 20:09
Mam pytanie, jakie uprawnienia mają katalogi /data/chroot0x ? (w tym UID/GDI) i w jaki sposób zakładasz poszczególne katalogi (ftp, shell, www) ?

Bo teoretycznie Joomla Explorer powinien móc "łazić" po całym katalogu i podkatalogach przeznaczonych na www. Co oczywiście niekoniecznie jest dobre. W każdym razie sprawa jest interesująca i być może przydatna dla bezpieczeństwa niektórych serwisów.


Pozdrawiam
frico

ja mam podobny problem tylko serwer win2k3 i iis

xplorer włazi mi do katalogu nadrzędnego joomli i widzie wszystkie strony pomimo tego że na iiesie mam ustawiony katalog docelowy

jak to zablokować

pomocy

woju
10-12-2008, 01:06
Na home.pl joomlaexplorer w ogóle nie chce działać.
I to pewnie dlatego, że chce wejść na wyższy poziom.
Co do tego nie ulega wątpliwości, że komponent na źle skonfigurowanych serwerach włazi na poziom wyżej w hierarchii katalogów. No to robi się z niego prawdziwie hakerskie narzędzie. Administrator serwera zawsze może np subdomeny zagnieżdzać w 2 poziomie podkatalogu czyli /user1/user1/.

robertsza
10-12-2008, 01:32
ale jak to zablokowac na iiesie w win2k3
bo na linuxie problemu niema

woju
10-12-2008, 03:14
Zrób subdomeny w podwójnie zagnieżdżonych katalogach.
a wirtualki aby nie wychodziły poza DocumentRoot.

zwiastun
10-12-2008, 04:28
A nie mądrzej zrezygnować z tego komponentu? Do czego on Wam jest potrzebny? Jeśli do rozwiązania problemów z PHP w bezpiecznym trybie, to może
a) lepiej zmienić serwer, bo bezpieczny tryb jest "bezpieczny", ale z nazwy przede wszystkim - warto zajrzeć i zobaczyć, cona ten temat piszą projektanci PHP)
b) namówić admina, żeby "wybierał" ( :) ) , co woli - niebezpieczny komponent czy "niebezpieczny tryb".
Rozumiem, że drugie raczej w rachubę nie wchodzi, ale kto wie...

robertsza
10-12-2008, 08:55
A nie mądrzej zrezygnować z tego komponentu? Do czego on Wam jest potrzebny? Jeśli do rozwiązania problemów z PHP w bezpiecznym trybie, to może
a) lepiej zmienić serwer, bo bezpieczny tryb jest "bezpieczny", ale z nazwy przede wszystkim - warto zajrzeć i zobaczyć, cona ten temat piszą projektanci PHP)
b) namówić admina, żeby "wybierał" ( :) ) , co woli - niebezpieczny komponent czy "niebezpieczny tryb".
Rozumiem, że drugie raczej w rachubę nie wchodzi, ale kto wie...

WItam

ja go osobiście nie używam ale klienci mi go instalują sami razem z joomlą a tego upilnować nie mogę,
to może jest sposób żeby go zainstalować się nie dało albo żeby wcale nie działał

zwiastun
10-12-2008, 10:49
No to wytłumaczyć klientom, że otwierają tylne drzwi do witryny i na serwer. Przecież durniami nie są, żeby nie zrozumieć!