![]() |
PHP функции использующие Callback function
PHP функции использующие Callback function Решил собрать все известные пхп функции, в которых можно использовать callback. В качестве callback функции использовал: assert, т.к. eval нельзя вызывать как callback функцию; call_user_func и register_shutdown_function, т.к. эти функции могут принимать 2 параметра. Тестировалось на PHP 5.3.1 array_map PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
|
xml_set_character_data_handler()
xml_set_default_handler() xml_set_element_handler() xml_set_end_namespace_decl_handler() xml_set_external_entity_ref_handler() xml_set_notation_decl_handler() xml_set_processing_instruction_handler() xml_set_start_namespace_decl_handler() xml_set_unparsed_entity_decl_handler() stream_filter_register() set_error_handler() register_shutdown_function() register_tick_function() |
Было же в МОА :) Ты ещё забыл ob_start, при её использовании бекдор довольно беспалевно выглядит.
|
Ну да было, учитывая, что ту статью в MOPS, если ты про эту http://php-security.org/2010/05/20/mops-submission-07-our-dynamic-php/index.html, писал Артур, который работает на ONsec :)
Просто там не было такого длинного списка, который был здесь, а здесь не было того хвоста. Я решил все вместе свести. |
Не, то что я имею в виду было даже не в этом году.
|
Цитата:
Returns TRUE on success or FALSE on failure. Насколько я понимаю обычно они не используются по одиночке, так как организация xml парсера, требует нескольких функции http://www.php.net/manual/en/ref.xml.php Далее когда пишут xml парсер то калбек задается довольно четко, и не дву смыслено. Поэтому интересны два вопроса 1. Есть ли вообще уязвимости, где RCE осуществляется через эти функции? 2. Возможно ли только через одну из этих функции выполнить код? --- stream_filter_register мы уже обсудили здесь https://rdot.org/forum/showthread.php?t=605&page=3 --- register_shutdown_function, была выше. --- set_error_handler не особо может нам помочь, потому что в обычных скриптах, в нее обычно вставлена функции которая как то обрабатывает ошибки, а передать в нее что то типа preg_replace, не выйдет, тока phpinfo (то есть без аргументную пользовательскую функцию PHP).... P.S. кстати там рядом еще одна статейка лежит http://php-security.org/2010/05/24/mops-submission-09-rips-a-static-source-code-analyser-for-vulnerabilities-in-php-scripts/index.html так вот в ней есть тоже довольно интересные наводки, например mb_ereg_replace и mb_eregi_replace http://php.net/manual/en/function.mb-ereg-replace.php http://www.php.net/manual/en/function.mb-eregi-replace.php , эти функции как и preg_replace, можно использовать в калбек функциях, причем, есть бага http://bugs.php.net/bug.php?id=48180, позволяющая несколько расширить возможности |
Копись, копилочка...
preg_replace_callback http://php.net/manual/en/function.preg-replace-callback.php Сегодня наткнулся в работе. |
Добавлю свои 5 копеек:
PHP код:
PHP код:
PHP код:
|
http://ru.php.net/manual/en/ref.filter.php
PHP код:
PHP код:
PHP код:
PHP код:
|
http://php.net/manual/en/function.session-set-save-handler.php
PHP код:
|
Часовой пояс GMT +3, время: 16:03. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot