Уязвимость PHP, работающего в режиме CGI

Уязвимость связана с возможностью передачи служебных параметров php-интерпретатору. Проверить наличие уязвимости можно, передав любому скрипту сайта в качестве аргумента опцию командной строки, например http://localhost/index.php?-s для показа исходного кода. Если этот способ не работает, значит ваш сайт не подвержен уязвимости.

Сервера с предустановленной панелью управления ISPmanager устойчивы к ней, так как не вызывают PHP напрямую, а используют wrapper-скрипт следующего содержания (для Linux):

#!/usr/bin/php-cgi

Во FreeBSD используется путь:

#!/usr/local/bin/php-cgi

Помимо использования wrapper'а, для устранения уязвимости можно обновиться до последних версий PHP 5.3.12 и PHP 5.4.2, либо блокировать подобные запросы через .htaccess:

RewriteCond %{QUERY_STRING} ^(%2d|-)[^=]+$ [NC]
RewriteRule ^(.*) $1? [L]

Метки: , ,

©  Linux.org.ru