strip_tags remove etiquetas ejemplo php suhosin

remove - ¿Es seguro PHP 5.4 sin Suhosin?



strip_tags php ejemplo (3)

En mi humilde opinión, la declaración anterior de duskwuff, que las cosas estarían bien sin Suhosin no es autorizada ni necesariamente correcta (especialmente dada la cantidad de agujeros críticos que han visto las versiones más nuevas de PHP desde entonces).

En mi opinión, sería definitivamente mejor, desde un punto de vista de seguridad, si Suhosin estuviera disponible para la versión actual de PHP. Por supuesto, como no lo es, tampoco es una solución quedarse con versiones antiguas (eventualmente no mantenidas) de PHP.

En general, PHP y especialmente las aplicaciones PHP son notoriamente conocidas por tener problemas de seguridad ... por lo que la pregunta es menos "son más seguras las versiones de PHP sin Suhosin" ...

Actualmente estoy trabajando en el desarrollo de un CMF de PHP que eventualmente estará disponible comercialmente y quiero usar rasgos. Sin embargo, el problema es que los rasgos son una característica de PHP 5.4 y, aparentemente, el popular parche de seguridad Suhosin no es compatible con PHP 5.4.

Así que mi pregunta es esta: ¿es seguro ejecutar un sitio web de PHP sin el parche de seguridad Suhosin? Si no, ¿a qué vulnerabilidades me dejaría yo y a otras personas que utilizan mi CMF abierto?

Nota: No me preocupa el alojamiento compartido. Se espera que cualquiera que use mi CMF tenga control administrativo sobre su servidor web.


Si no puede deshabilitar eval () (una construcción de lenguaje, no una función) o tiene una lista negra dentro de eval para deshabilitar la mayoría de las herramientas del hacker dentro de eval, entonces está ejecutando una carga de ancho de banda que es irresistible para los hackers que buscan ancho de banda para ejecutar sus cargas útiles. Lo que se puede hacer de la lista negra, idealmente, no siempre se puede hacer porque los escritores de módulos de terceros o incluso el núcleo del marco dependen de algunas de estas funciones dentro de un contexto eval ():

suhosin.executor.eval.blacklist=include,include_once,require,require_once,curl_init,fpassthru,file,base64_encode,base64_decode,mail,exec,system,proc_open,leak,pfsockopen,shell_exec,ini_restore,symlink,stream_socket_server,proc_nice,popen,proc_get_status,dl,pcntl_exec,pcntl_fork, pcntl_signal, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, socket_accept, socket_bind, socket_connect, socket_create, socket_create_listen, socket_create_pair,link,register_shutdown_function,register_tick_function,create_function,passthru,p_open,proc_close,proc_get_status,proc_terminate, allow_url_fopen,allow_url_include,passthru,popen,stream_select

Si no puede filtrar estas funciones, falta un componente importante de seguridad.

Estos son algunos ejemplos de herramientas de administración remota (RATS) que infectarán su sitio, a través de cualquier módulo de terceros o cuenta de usuario del sitio.

Las RAT pueden tomar muchas formas, algunas son fáciles de grep para:

<?php error_reporting(0); eval(gzuncompress(base64_decode(''eF5Tcffxd3 ... <?php preg_replace("/.*/e","/x65/x76/x61/x6C/x28/ ...

Algunos son más profesionales y están ofuscados, y realmente no pueden ser buscados, y no se pueden encontrar a menos que suhosin le advierta que ejecutaron:

<?php $_0f4f6b="/x70/x72/x65/x67/x5f/x72/x65/x70/x6c/x61/x63/x65";$_0f4f6b("/x7 ... <?php require "./.cache/.%D59C%49AA%73A8%63A1%9159%0441"; ?>

(en este caso, tenga en cuenta que el directorio CACHE no puede estar en control de origen, por lo tanto, tampoco se puede rastrear)


Suhosin era un parche de endurecimiento de PHP. No solucionó ninguna vulnerabilidad de seguridad explícita, simplemente hizo que algunas vulnerabilidades en los scripts PHP fueran más difíciles de explotar.

Algunos de los cambios que Suhosin hizo fueron eventualmente incorporados a PHP. Por ejemplo, las diversas capas de protección de Suhosin contra bytes nulos en las entradas se hicieron innecesarias por PHP 5.3.4, lo que hizo que los bytes nulos en los nombres de los archivos siempre arrojaran un error (en lugar de truncar silenciosamente el nombre del archivo en el byte nulo).

PHP 5.4 generalmente se considera razonablemente seguro sin la participación de Suhosin. En el futuro, siempre que su aplicación lo admita, estará mejor con una versión más reciente (5.4+) de PHP, en lugar de una versión más antigua con el parche Suhosin.