PHP 5.3.12 i PHP 5.4.2

1
743
PHP
PHP

Wydano PHP 5.3.12 i PHP 5.4.2, obiektowy i skryptowy język programowania zaprojektowany do generowania stron internetowych w czasie rzeczywistym. PHP jest najczęściej stosowany do tworzenia skryptów po stronie serwera www, ale może być również używany do przetwarzania danych z poziomu wiersza poleceń, a nawet do pisania programów pracujących w trybie graficznym.

Kilka dni temu odkryto dość poważną lukę w serwerach wykorzystujących mod_cgi (Apache+mod_php i nginx+php-fpm nie są podatne na to), która najpewniej istniała prawie 8 lat, ale dopiero teraz komuś udało się to wykorzystać. Część systemów wspiera metodę na dostarczanie tablicy stringów do skryptu CGI. Jest to głównie używane w przypadku zapytań korzystających z indeksu. Jest to identyfikowane poprzez żądanie HTTP: GET i HEAD, razem z ciągiem wyszukiwania adresu URL, nie zawierającego żadnych niekodowanych znaków „=”.

Zatem żądania, które nie posiadają „=” w ciągu zapytania, są traktowane inaczej od tych, które są w niektórych implementacjach CGI. Dla PHP oznacza to, że żądanie zawierające ?-s, może zrzucić kod źródłowy strony, natomiast żądanie ?-S & = 1 jest już w porządku.

Duża liczba stron posiada uruchomionego PHPa, jako moduł poprzez mod_php lub php-fm pod nginx. Instalacje te nie są narażone na wspomnianą wyżej lukę. Aby sprawdzić, czy nasza strona posiada owy problem, wystarczy na końcu swojego adresu URL dopisać to wyrażenie: ?-s. Jeżeli zobaczymy nasz kod źródłowy, tzn że jesteśmy podatni na atak.

Sposobów na zabezpieczenie się jest kilka. Jednym z nich jest aktualizacja PHP do najnowszych wersji, ponieważ sporo stron jest uruchomionych na starych wersjach, co stwarza również inne zagrożenia. Drugim sposobem jest dodanie wyjątku dla Apache z mod_rewrite:

RewriteCond %{QUERY_STRING} ^(%2d|-)[^=]+$ [NC]
RewriteRule ^(.*) $1? [L]
Poprzedni artykułMagazyn PostgreSQL – numer 1
Następny artykułnVidia Linux Display Driver 295.49
Michał Olber
Interesuję się głównie sprzętem i działaniem jego pod systemami GNU/Linux. Testuję różne dystrybucje i robię recenzje. Interesuję się działaniem sprzętu pod Linuksem, dzięki czemu wiem, jaki zestaw komputerowy wybierać :)

1 KOMENTARZ

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj