Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Bash - spuštění kódu v parametru [vyřešeno]  (Přečteno 2157 krát)

Firzen

  • Stálý člen
  • **
  • Příspěvků: 1287
    • Beroot
Bash - spuštění kódu v parametru [vyřešeno]
« kdy: 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:
Kód: [Vybrat]
cp soubor1 soubor2Tak to funguje, ale problém nastává v případě souboru se jménem například:
Kód: [Vybrat]
muhehe;rm -fr /usr/binSamozřejmě řešení je v:
Kód: [Vybrat]
cp "soubor1" "soubor2"Jenže potom by útočník mohl použít:
Kód: [Vybrat]
muhehe;$(rm -fr /usr/bin)A to už vyřešit nedovedu.

Jak by jste to řešili vy?
« Poslední změna: 22 Září 2011, 23:40:36 od Firzen »
AMD Phenom II X6 1100T@3,3GHz, Gigabyte GeForce GT 430 1GiB, 8GiB RAM, 1TiB SATA3 HDD, Nokia N900
OS: Debian 6.0 Squeeze, Maemo 5
Citace
Prosintě ty jsi takový zkušený vývojář - co mám dělat, když nevím, jako něco udělat? :D

RRRadek Neužil

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4672
Re: Bash - spuštění kódu v parametru
« Odpověď #1 kdy: 22 Září 2011, 17:07:10 »
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?
PS: omluvte moji češtinu není to moje silná stránka, snažím se hlavně vystihnou podstatu problému. ;)

Kedrigern

Re: Bash - spuštění kódu v parametru
« Odpověď #2 kdy: 22 Září 2011, 17:39:11 »
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).

pacholik

  • Závislák
  • ***
  • Příspěvků: 2072
Re: Bash - spuštění kódu v parametru
« Odpověď #3 kdy: 22 Září 2011, 18:56:22 »
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.
Kód: [Vybrat]
$ ls 'muhehe;$(rm -fr *)'
muhehe;$(rm -fr *)
$ ls "muhehe;\$(rm -fr *)"
muhehe;$(rm -fr *)
$ ls muhehe\;\$\(rm\ -fr\ \*\)
muhehe;$(rm -fr *)

Firzen

  • Stálý člen
  • **
  • Příspěvků: 1287
    • Beroot
Re: Bash - spuštění kódu v parametru
« Odpověď #4 kdy: 22 Září 2011, 22:09:42 »
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. :-\
AMD Phenom II X6 1100T@3,3GHz, Gigabyte GeForce GT 430 1GiB, 8GiB RAM, 1TiB SATA3 HDD, Nokia N900
OS: Debian 6.0 Squeeze, Maemo 5
Citace
Prosintě ty jsi takový zkušený vývojář - co mám dělat, když nevím, jako něco udělat? :D

Kedrigern

Re: Bash - spuštění kódu v parametru
« Odpověď #5 kdy: 22 Září 2011, 23:24:58 »
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?

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re: Bash - spuštění kódu v parametru [vyřešeno]
« Odpověď #6 kdy: 23 Září 2011, 12:26:20 »
oh god .. pokud jako root tolerujes (provedes) operaci s podobnym nazvem souboru tak hlasuju, aby ti byl rootovskej access odebran :P
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Firzen

  • Stálý člen
  • **
  • Příspěvků: 1287
    • Beroot
Re:Bash - spuštění kódu v parametru [vyřešeno]
« Odpověď #7 kdy: 06 Října 2011, 00:13:02 »
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. :)
AMD Phenom II X6 1100T@3,3GHz, Gigabyte GeForce GT 430 1GiB, 8GiB RAM, 1TiB SATA3 HDD, Nokia N900
OS: Debian 6.0 Squeeze, Maemo 5
Citace
Prosintě ty jsi takový zkušený vývojář - co mám dělat, když nevím, jako něco udělat? :D

 

Provoz zaštiťuje spolek OpenAlt.