Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Firzen 22 Září 2011, 16:29:13
-
Ahoj všichni,
potřeboval bych nějak ošetřit možnost zneužití vlastností bashe. Jde mi o to, že když použiju například:
cp soubor1 soubor2
Tak to funguje, ale problém nastává v případě souboru se jménem například:
muhehe;rm -fr /usr/bin
Samozřejmě řešení je v:
cp "soubor1" "soubor2"
Jenže potom by útočník mohl použít:
muhehe;$(rm -fr /usr/bin)
A to už vyřešit nedovedu.
Jak by jste to řešili vy?
-
Ale to by se útočník nejdříve musel dostat ke kompu nebo přes ssh ne?
Nebo ti jde o spouštěcí skripty SH který by si uživatel spustil dobrovolně sám?
-
Apostrofy se nikdy neinterpretují, co řešíš? Navíc co se týká bezpečnosti, tak to řeší práva. Útočník nemá práva na žádnou operaci, která je škodlivá. Pokud ano, tak si už udělal chybu.
Jinak se tím zabývá třeba kniha Libora Forsta (jednoduché příkazy).
-
Nevím jak by toho mohl využít útočník, ale ty můžeš použít jednoduché uvozovky nebo dvojité a vyeskejpovat dolar nebo žádné a vyeskejpovat skoro všechno. Jo a lomítko beztak v názvu bejt nemůže.
$ ls 'muhehe;$(rm -fr *)'
muhehe;$(rm -fr *)
$ ls "muhehe;\$(rm -fr *)"
muhehe;$(rm -fr *)
$ ls muhehe\;\$\(rm\ -fr\ \*\)
muhehe;$(rm -fr *)
-
Děkuju moc, ty jednoduché uvozovky mě vůbec nenapadly.
Apostrofy se nikdy neinterpretují, co řešíš? Navíc co se týká bezpečnosti, tak to řeší práva. Útočník nemá práva na žádnou operaci, která je škodlivá. Pokud ano, tak si už udělal chybu.
Ano udělal, bohužel je to nutné, když se to ode mě chce. Někde jsem četl, že největší prasárny dělají lidi, co něco programují za peníze. To proto, že musí pokračovat i tam, kde by se na to každý jiný dávno vykašlal a nebo by měl dostatek času na lepší řešení. Já ho bohužel nemám, takže ještě nějaký čas moje aplikace poběží pod rootem a bude načítat data. Takže je nutné bránit všechno zuby nehty. :-\
-
Nešlo by to třeba rozdělit na dva skripty? Jeden který načte pod rootem data a nejde v něm nic dělat (nebere parametry) a další, který si ty data přečte a zpracuje? Či tak něco?
-
oh god .. pokud jako root tolerujes (provedes) operaci s podobnym nazvem souboru tak hlasuju, aby ti byl rootovskej access odebran :P
-
oh god .. pokud jako root tolerujes (provedes) operaci s podobnym nazvem souboru tak hlasuju, aby ti byl rootovskej access odebran :P
Ona to je jen dočasná věc. Během pár týdnů to už bude běžet úplně jinak a bez roota. :)