Какво представлява грешката в Shellshock и как да я коригирам на OS X
Miscellanea / / February 27, 2022
![Shutterstock 145700960](/f/842da6d1fd54752ad5bfc9f89d6eb2b2.jpg)
Сърдечно кървене. Shellshock. Е, научихме имената на тези опасни бъгове, които звучат като заглавия на песни на Тейлър Суифт. Сърдечно кървене засегна почти всеки уебсайт там. Това беше прословута грешка, която беше спяща от години и въпреки че корекцията беше лесна, тя трябваше да бъде приложена от всеки отделен разработчик.
Експертът по сигурността Робърт Греъм казва, че Shellshock е по-голям от Heartbleed.
Мисля, че сгреших като казах #shellshock беше толкова голям, колкото #сърцекървене. по-голямо е.
— () {:;}Робърт Греъм (@ErrataRob) 25 септември 2014 г
И така, каква точно е тази грешка в Shellshock и как се отразява на вашия Mac? Нека поговорим за него и решението.
Какво е Shellshock?
Под графичния потребителски интерфейс се изпълнява код – команди, които изпълняват процеси и ви предоставят изхода на екрана.
В Bash, интерфейсът на командния ред в OS X, низ от текст може да се съхранява като променлива. Програмистите превръщат текста в променливи, така че да не се налага да ги въвеждат отново и отново.
Например можете да кажете:
Z ='това е дълъг низ от текст'
И по-късно, ако кажеш ехо $Z, командният ред ще вмъкне текста, където искате. Това е предназначено да се третира като текст, а не като команда. И тук е грешката.
В командния ред на Bash, използван от Linux и OS X, ако въведете определен знак в началото на променливата, можете да го превърнете в команда.
Текстът е: () { :;};
Това означава, че команди, които не са били санкционирани от системата или разработчика, дори команди, които са блокирани поради злонамерения или разрушителен характер, могат да се изпълняват, ако имат този префикс.
![Shellshock 100455590 Голям](/f/14d7909a427bb2cada26c5d7e9639642.png)
Shellshock (или грешката в Bash, ако сме технически) е ограничен само до UNIX базирани системи. Това означава OS X и Linux. Потребителите на Windows не са засегнати от тази грешка.
За по-техническо обяснение проверете Отличната разбивка на грешката Shellshock на Vox. Като алтернатива, вижте видеоклипа по-долу за същото просто обяснение, с британски акцент.
Как ви засяга грешката Shellshock
Директно, не.
Но докато приложенията в OS X работят в затворен режим, те говорят помежду си – за да разтоварят задачи към други приложения или да поискат функционалност на системно ниво. Всички тези разговори се провеждат с помощта на код в терминала.
По време на един от тези обмени едно приложение може да добави префикса в кавичките и да го превърне в команда. Тези команди могат или да изтрият компютъра ви, да го направят безполезен, да копират съдържанието на вашето устройство или произволен брой неща, възможни чрез командния ред.
Как да коригирате грешката Shellshock
![Bash Актуализация](/f/4684f89a48307192ed393189626c9c58.png)
За щастие, Apple каза, че само малък брой потребители на OS X са податливи на грешката Shellshock. Но е препоръчително, ако сте на Mac с OS X Lion, Mountain Lion или Mavericks, инсталирайте актуализацията на корекцията от връзките по-долу. Все още няма поправка за бета потребителите на Yosemite.
- лъв
- Пума
- Mavericks
Актуализацията за Mavericks е само 3,2 MB и идва като DMG файл. Процесът на инсталиране е прост и дори не е необходимо да рестартирате вашия Mac.
![Bash актуализация 2](/f/dddec9cc8dc9755908351ee1c3ce4bbc.png)
Това е стандартен инсталатор на пакети в DMG файл. Отворете инсталатора и натиснете Следващия няколко пъти и актуализацията ще бъде инсталирана.
![Bash актуализация 4](/f/759c004e59d75b5dd6d82c60bcf8baac.png)
Това е за всичко. Пази се.
Горно изображение чрез Shutterstock
Последна актуализация на 03 февруари 2022 г
Горната статия може да съдържа партньорски връзки, които помагат за поддръжката на Guiding Tech. Това обаче не засяга редакционната ни почтеност. Съдържанието остава безпристрастно и автентично.