Как мой php-скрипт может сказать, изменил ли suhosin переменные запроса?
Я тестировал безопасность для некоторых php-скриптов и обнаружил, что, среди прочего, suhosin удаляет опубликованную переменную, которая огромна... это хорошо и желательно, но я бы хотел, чтобы мой скрипт мог сказать этот suhosin изменил запрос.
Оставляет ли suhosin какие-либо отпечатки пальцев, чтобы указать, что было предпринято какое-то действие - способом, который может обнаружить сценарий? Я предполагаю, что это не может вызвать что-то вроде E_USER_WARNING
потому что это будет сгенерировано до запуска скрипта и может его поймать. Может быть, среда или специальная глобальная переменная?
Я сам попробовал несколько подходов, но ничего не увидел... возможно, для этого нужно настроить suhosin? Мне кажется, что документацию по suhosin трудно понять.
2 ответа
Входной фильтр Suhosin предназначен для прозрачной фильтрации потенциально опасных данных, например, слишком больших запросов. Если сценарий сможет обнаружить этот фильтр и изменить свой программный поток на основе этой информации, злоумышленнику будет намного легче обойти фильтр.
В качестве рекомендации, ограничения фильтра должны быть установлены как можно более строгими, но настолько широкими, насколько это необходимо. Предполагается, что ваш сценарий запускается без возможности обнаружить присутствие Сухосина.