Suhosin и отключить функцию eval

Я установил Suhosin на свой выделенный сервер CentOS. centos6.7+php5.4.41+suhosin0.9.36

Я бы хотел включить функцию eval для отключения Suhosin. Я просмотрел документацию и из того, что я понял, лучшим сценарием было добавить это в php.ini:

[suhosin]
suhosin.executor.eval.blacklist= phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown

но это не помешает eval выполнить phpinfo(),<?php eval(phpinfo());?>,

Очень надеюсь, что кто-то может указать на мою ошибку.

2 ответа

Решение

Ваш пример выполняет phpinfo(), затем пытается оценить вывод. Учитывая вашу конфигурацию, следующий пример будет заблокирован suhosin:

eval("phpinfo();");

Пожалуйста, рассмотрите возможность использования белого списка, а не черного списка, если это применимо. С точки зрения безопасности всегда лучше разрешить ограниченный набор функций, чем угадывать все плохие функции.

Также обратите внимание, что сам eval не является функцией и не может быть заблокирован с помощью disable_functions и друзьями. Сухосин обеспечивает suhosin.executor.disable_eval для этой цели.

Открой php.ini файл и искать disable_functions, Написать / Записать функции, которые вы хотите отключить. Например: disable_functions=passthru,exec,system,popen,eval

Другие вопросы по тегам