Portál AbcLinuxu, 11. května 2025 10:43

Dotaz: Do čeho jsem se to nechal uvrtat ??

10.5.2011 20:08 Noems
Do čeho jsem se to nechal uvrtat ??
Přečteno: 1390×
Odpovědět | Admin
Zdarec, procházím tady to forum a zkusil jsem si nainstalovat webserver na zkoušku. Ovšem nepochopím jednu věc. To na tomto systému jako máte nahrané nějaké projekty i na ostrém provozu, nebo jen na hraní? Pokud to používáte jen na hraní tak to pak beru, a prej Linux je bezpečný, jdi do toho!! Děkuji ale systém který mi přes php vypíše kdekoliv na stránce třeba seznam uživatelů mě fakt šokuje :-)

Viz příklad:
<? php
$ a = `cat / etc / passwd";
echo $ a;
?>
To si přátele snad děláte srandu, ne?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.5.2011 20:15 Adamec | skóre: 31
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin
no nebude treba v tomto pripade problem v programatorovi php co si necha vypsat???
This is not a bug it's a feature
okbob avatar 10.5.2011 20:17 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin
a) V /etc/passwd je jen seznam uzivatelu, neni to znepristupneny soubor b) Je zalezitosti programatora, aby nezobrazoval verejne data, ktera nemohou byt zobrazena. Kdyz v .NETu napisi skript, kterym zobrazim na webove strance uzivatele, tak je to totez c) V prostredich, kde se neda verit programatorum se pouzivaji techniky, ktere mate asi zablokovane nebo o nich nevite - SELinux, chroot
okbob avatar 10.5.2011 20:18 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
b) ktera by nemela byt zobrazena.

Otazka - mate aktivni SELinux?
10.5.2011 20:25 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Je otázkou, jestli je tady SELinux něco platný, protože v unixových systémech se tak nějak předpokládá, že tabulka uživatelů je čitelná pro všechny (a je jedno, jestli je v /etc/passwd nebo jestli ji dostáváte od nějakého podivného NSS modulu), takže by některé programy (včetně Apache samotného nebo PHP v něm) mohly mít problémy, pokud byste jim ji chtěl znepřístupnit.
10.5.2011 21:20 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Je otázkou, jestli je tady SELinux něco platný, protože v unixových systémech se tak nějak předpokládá, že tabulka uživatelů je čitelná pro všechny...takže by některé programy mohly mít problémy, pokud byste jim ji chtěl znepřístupnit.
Unix není bezpečnostně založený systém, takže bych na tom tak úplně nestavěl. Spousta programů dnes už nepočítá s unixovým (malým) zabezpečením, a tyto programy jsou zvyklé (už od dob openwall patchů na linux) nedostat přístup ke všemu po čem se sápou.

Seznam uživatelů můžete chtít schovat z nejrůznějších příčin. Takže jo do jisté míry SELinux platný je. Navíc v SELinuxu (i v apparmoru) lze nastavovat práva pro jednotlivé web app, čili nakonec se to web serveru ani týkat nemusí.
In Ada the typical infinite loop would normally be terminated by detonation.
10.5.2011 21:40 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Ono tu nejde ani tak o ten seznam všech uživatelů, problém vidím spíš v tom, že přístup k tabulce uživatelů je potřeba i k odpovědi na takové otázky jako "jak se jmenuji?", "kde mám domácí adresář?" nebo "jaký je můj defaultní shell"? Takže spíš než cestou zákazu čtení tabulky uživatelů bych to raději řešil tak, že tomu procesu podstrčím nějakou falešnou.
10.5.2011 22:17 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Ty otázky samozřejmě klást můžete a můžete na ně i dostávat platné odpovědi (pokud je to povoleno). To, že unix kvůli tomu prohledává jakousi tabulku v textovém souboru, neznamená že to tak musí dělat každý systém, a tudíž privilegium dozvědět se informace o svojí identitě a o identitě ostatních uživatelů jsou fundamentálně odlišné věci. Podstrčení falešné tabulky je jen emulace starého chování, AFAIK se v tomto případě moc nepoužívá, protože ty otázky jsou odděleny už na úrovni volání libc.
In Ada the typical infinite loop would normally be terminated by detonation.
10.5.2011 23:07 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
To, že unix kvůli tomu prohledává jakousi tabulku v textovém souboru

Nemusí být nutně v textovém souboru, máme NSS moduly.

neznamená že to tak musí dělat každý systém

Myslel jsem, že se tu bavíme o Linuxu (resp. glibc), ne o tom, co by teoreticky bylo možné na nějakém hypotetickém systému.

ty otázky jsou odděleny už na úrovni volání libc.

Teoreticky ano, prakticky ne. Koneckonců v POSIXových manuálových stránkách k getpwuid(), getpwnam() nebo getpwent() a podobným funkcím mezi přípustnými návratovými kódy nikde nevidím EACCES.

11.5.2011 07:47 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
On ten hypotetický systém je linux a to i bez SE (např. pomocí toho podhazování). A zrovna v tomto bych se o posix specifikaci neopíral, protože ta není zaměřena na zvýšenou bezpečnost. Že něco není 100% posix neznamená konec světa jak ho známe.
In Ada the typical infinite loop would normally be terminated by detonation.
11.5.2011 08:50 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Obávám se, že každý mluvíme o něčem jiném.
10.5.2011 20:17 x
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkuste to tady ;-) Hitchhiker's tool
10.5.2011 20:18 Radovan
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin
chroot
10.5.2011 20:20 Radovan
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
10.5.2011 20:20 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin

Pro případ, že by to nějakou náhodou bylo myšleno vážně a ne jako provokace:

  1. V čem vidíte problém?
  2. Na jakém systému to nejde?
10.5.2011 20:29 Noems
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Provokace to není, ale spustím nainstalovaný systém a předpokládám když je linux taková obrovská komunita, že je systém best off!

1 Problém vidím v tom, že nějaké registrované usery by měl vidět jen nějaký superadmin a ne kde v případě nějakého webhostingu..

2 Jede to na Debianu, myslím, že je to verze 6.
okbob avatar 10.5.2011 20:32 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
proc by mel byt seznam uzivatelu tajny??

Na hostingu pouziji minimalne chroot.
Heron avatar 10.5.2011 20:35 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
ad 1) Proč?

ad webhosting, pokud admin skutečně chce, tak lze zařídit běh webových skriptů ve svém vlastním prostředí a k jiným souborům nebude mít vůbec přístup. V ostatních komentářích najdete příslušné metody a dokonce odkaz na článek.

Jinými slovy, ten systém je nutno nastavit ke konkrétnímu provozu a pokud tam chcete provozovat nebezpečně aplikace, tak ty lze provozovat bezpečně oddělené.

Dále, pokud je to systém ve vaší správě (vy jste administrátor / root), tak je jen na vás, abyste věděl, co za programy tam máte a v takovém případě si tam nedáte program, který vypíše veřejně seznam systémových uživatelů (když už vám to tak vadí).
10.5.2011 20:39 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??

1. Ona se spíš nabízí otázka, jestli klasický webhosting (s možností spouštění skriptů), běžící na jednom stroji bez aspoň nějaké úrovně virtualizace, není tak trochu přežitek a designová chyba.

2. Neptal jsem se, na jakém systému to funguje. Ptal jsem se na příklad systému, kde to nejde.

10.5.2011 20:47 l4m4
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Co podle tebe znamená best off? Tuto konstrukci lze použít leda s následujícím with či gerundiem, ukončit jí větu nedává smysl.

2) Otázka byla, na jakém systému to nejde. Pokud to poběží v nějakém kontejneru, tak samozřejmě v rámci kontejneru.
10.5.2011 21:26 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Provokace to není, ale spustím nainstalovaný systém a předpokládám když je linux taková obrovská komunita, že je systém best off!

Je téměř nemožné udělat bezpečnostně univerzální systém který by uspokojil všechny uživatele. Standardní instalace linuxu (a to se ještě liší podle distribuce) má bezpečnost nastavenou tak, aby pokryla co největší spektrum uživatelů.

Pokud Vám standardní nastavení nevyhovuje, můžete to s příslušnou investicí vlastní práce do podoby, která se Vám líbí. Vysoká bezpečnost je vždy dělaná na míru přinejmenším vzhledem k tomu co a před kým chráníte. Best off je to proto, že to tak nastavit jde, ne proto, že byste to vytáhl z krabice, vrazil do CD mechaniky a najednou z Vás byl bezpečnostní master blaster.
In Ada the typical infinite loop would normally be terminated by detonation.
11.5.2011 18:22 Matlák
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Best off je to proto, že to tak nastavit jde, ne proto, že byste to vytáhl z krabice, vrazil do CD mechaniky a najednou z Vás byl bezpečnostní master blaster.

+10^12 Windowsáci se nikdy nepoučí. Beztak je to troll (nebo trotl).
11.5.2011 19:55 jekub
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
+10^12 Windowsáci se nikdy nepoučí. Beztak je to troll (nebo trotl)

Přesně tak, těch reakcí je tady až příliš.
11.5.2011 07:42 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Problém vidím v tom, že nějaké registrované usery by měl vidět jen nějaký superadmin a ne kde v případě nějakého webhostingu.
Pravdepodobne ste príliš mladý na časy, keď jedinými instant messaging systémami boli talk, mtalk, write a wall, preto vás koncept "viditeľnosti zoznamu používateľov" prekvapuje. Ako potom môžete žiť s vedomým existencie telefónnych zoznamov, obsahujúcich mená, adresy a telefónne čísla státisícov občanov?
Heron avatar 10.5.2011 20:27 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin
I když jde imho o provokaci, tak ano, používá se to na hraní v ostrém provozu (:-D), na takové hraní jako jsou třeba bankovní systémy, burzy cenných papírů, řízení průmyslových provozů, renderovací farmy a pokud bychom se vrátili zpět na zem tak na většině webových serverů, routerů, embeded krabiček atd.

A co přesně ti na tom vadí? Že systém dělá přesně to, co po něm chceš? Chceš vypsat soubor, tak ti jej vypsal. Vadí ti, že uživatel k němu má práva? Tak ten systém dále studuj, ať pochopíš proč a potom si také můžeš hrát s ostrými servery.
Heron
10.5.2011 20:56 R
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin
Skript nefunguje.
10.5.2011 21:02 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Ten skript je totiž tak strašně nebezpečný, že ho před zveřejněním raději upravil tak, aby nefungoval a aby jen opravdoví znalci poznali, jak původně vypadal. :-)
petka avatar 11.5.2011 17:09 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??

Ano nefunguje, spravne je to nejak takhle .

<?php
$a = shell_exec("cat /etc/passwd");
echo $a;
?>

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
AraxoN avatar 11.5.2011 18:38 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Stále nič... :-D
Warning: shell_exec() has been disabled for security reasons in /var/www/bububu-nebezpecny-skript/test.php on line 2
10.5.2011 22:48 Xerces
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin
No ty krávo, to je dotaz. Admini dejte to prosím do nějaké sekce nejlepší dotazy na abclinuxu.cz :-D Promiň Noemsi, seriozní odpovědi najdeš víše, sám to pochopíš, až do toho trochu pronikneš.
10.5.2011 23:21 mozog | skóre: 28
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin
Po precteni tohoto dotazu jsem se musel podivat do kalendare, jestli neni prvniho dubna. :-D

A ono neni.
pavlix avatar 11.5.2011 00:38 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin
Blbosti, na to vás užije :D.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
vain avatar 11.5.2011 07:58 vain | skóre: 16
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin
No abych odpověděl na dotaz. Ne, neděláme si srandu, ale ty evidentně ano. Povedl se!
If the only choice you've got is to do the wrong thing, then it's not really the wrong thing, it's more like fate.
11.5.2011 09:44 SPM | skóre: 28
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak ten soubor smaž - pak už ho nikdo neuvidí ;)
11.5.2011 12:31 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin
systém který mi přes php vypíše kdekoliv na stránce třeba seznam uživatelů mě fakt šokuje :-)

Viz příklad:
<? php
$ a = `cat / etc / passwd";
echo $ a;
?>
To si přátele snad děláte srandu, ne?
Len tak pre zaujímavosť, čo urobí rovnako nakonfigurovaný web server bežiaci na windowsoch, ktorému dáš
<? php
$ a = `net user`;
echo $ a;
?>
11.5.2011 13:30 mrzout | skóre: 11 | blog: mrzutej
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jste tak blbej nebo jen provokujete?

Pokud si vy sám nainstalujete na server službu a dáte jí k něčemu práva, co je špatného na tom, že to pak umožňuje?

Navíc mícháte dohromady zcela jiné věci:

-Linux

-web server

-PHP

-práva v PHP
Hlasuj pro zavedení OpenID na Abclinuxu!
Řešení 1× (petka)
otasomil avatar 11.5.2011 15:03 otasomil | skóre: 39 | blog: puppylinux
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin

Vas kod mi vraci prazdnou stranku.

K čemu hudba, která nevede k extázi... Stop MDMA !!! I spam umí být roztomilý
petka avatar 11.5.2011 16:29 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: Do čeho jsem se to nechal uvrtat ??
Odpovědět | | Sbalit | Link | Blokovat | Admin

Tak nevim jestli  to mam brat jako nejaky zert , ale ta syntaxe se mi nejak nezda .

Pokud si chci spustit v php program , tak pouzji funkci exec popripade shell_exec .

Sam si takhle spoustim bash scripty a ovladam tak system . Cele by to vsak nefungovalo , protoze jako uzivatel www-data nemam dostatecna prava , na radu prichazi uprava suroers :-)

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.