sh: uvozovky v promenne

Miroslav Prýmek m.prymek at gmail.com
Thu Aug 8 17:52:47 CEST 2013


2013/8/8 Jan Pechanec <jp na devnull.cz>

>
>         ahoj, nevim, co myslis tim "rozbit shellovy skript".


Priorita cislo jedna je, aby clovek do toho skriptu nemohl injectovat kod
tim zminenym stylem
# skript 'fake_parametr";nejaky_zly_kod; echo " '
- proto, ze skript by mozna nekdy mohl byt spousteny pres sudo s vyssimi
pravy.

Priorita cislo dve je, aby skript umel korektne zpracovat jakykoliv
parametr a spravne ho vlozit na
spravne misto a timpadem odeslat curlem po http.

Priorita cislo tri je, aby se jednalo i o korektni json - to v tomhle
pripade asi znamena jenom to,
ze kazda uvozovka by mela byt zmenena na neco jineho - bud na \" nebo aspon
na apostrof.


> Vlozenim
> uvozovek do parametru ten skript nerozbijes, protoze expanze promennych se
> provede az po zkontrolovani syntaxe a rozdeleni na slova/tokeny.
>

Takze jestli to chapu spravne, kdyz do skriptu dam
echo $1
tak at je v $1 cokoli, normalne se to vypise bez jakyhokoli problemu? $1 je
proste *jeden* parametr
a jako takovy se preda echu at uz je v promenne $1 cokoli?
Pokud to tak je, tak je problem vyresenej - staci to prohnat tim tr, jak
jsem psal vys a jsou splnene
vsechny tri priority.

Pokud je reseni tak jednoduche, tak se omlouvam za zakladni neznalost, ale
fakt mi tohle
nejak nikdy nedoslo, proste jsem vzdycky promenne daval do uvozovek...

M.


More information about the Users-l mailing list