Arreglando una gran cantidad de SQLi, XSS, RFI / LFI en una aplicación PHP

1

Estoy trabajando en un sitio web que se construyó hace unos años en PHP y está lleno de vulnerabilidades en todo el lugar. Alguien ya ha obtenido acceso al panel de administración y queremos asegurar los sitios web y prevenir futuros robos.

La solución más simple pero tediosa es revisar cada archivo manualmente y reemplazar todas las consultas de mysql con consultas preparadas y desinfectar todas las entradas. Sin embargo, quiero saber si hay una solución más simple que podría actuar como una capa entre la entrada del usuario (GET, POST, COOKIE, SERVER) y la lógica del sitio web, y filtrar todos los datos de entrada que parezcan sospechosos.

Investigué un poco y encontré PHPIDS, pero no pude averiguar si tenía la capacidad de desinfectar las entradas también. ¿PHPIDS es ideal para esta tarea? ¿Hay algo mejor que se adapte a este propósito?

    
pregunta Deepak Mittal 08.04.2014 - 11:45
fuente

5 respuestas

2

Hay servidores de seguridad de aplicaciones web que hacen el tipo de cosas de las que estás hablando.

En mi humilde opinión, quien sea el propietario de este sitio web debe morder la bala y hacer un esfuerzo para asegurar realmente el sitio web en lugar de adoptar otro enfoque a medias.

Si perder mucho dinero en la contratación de un consultor de seguridad para realizar una auditoría de seguridad en el sitio no es una opción realista, es posible que un desarrollador web comprometido realice una auditoría de seguridad en un sitio y arreglar cualquier vulnerabilidad encontrada. Obviamente, un profesional sería una mejor opción, pero si eso no es realista, muchos desarrolladores pueden hacer un trabajo de descenso con la orientación adecuada.

Si esta es una ruta a la que está dispuesto a ir, le sugiero obtener una copia de El Manual del pirata informático de aplicaciones web (hay muchos otros buenos libros, pero personalmente me gustó este). Además de entrar en detalles sobre cómo funcionan los diversos ataques y cómo protegerse contra ellos, también proporciona un enfoque sistemático para encontrar todas las vulnerabilidades de seguridad en un sitio web en el capítulo titulado "Una metodología de piratería de aplicaciones web".

Leer este libro y realizar una auditoría de seguridad aumentará su conocimiento / conocimiento de seguridad significativamente . Una necesidad para cualquier desarrollador web serio.

    
respondido por el Abe Miessler 08.04.2014 - 20:00
fuente
1

Esta no es una buena posición para estar, y recuperarse desde aquí requerirá mucho esfuerzo. Pero estás empezando en el lugar equivocado.

Lo primero que debes hacer es:

1) asegúrese de que solo los directorios designados puedan escribirse (deshabilite el motor php para estos, incluso si están fuera de la raíz del documento)

2) bloquee el acceso al panel de administración, excepto por una lista blanca de adiciones / rangos de IP

Esto es mitigación solo .

  

desinfectar todas las entradas

No:

Valide las entradas, desinfecte outputs

Es por esto que no hay una capa mágica que lo proteja de software mal escrito. Sin embargo, puede reducir el ruido al escanear las entradas de scripting y SQL (a través de un archivo de prepago automático) y luego alimentar los resultados en fail2ban. Pero esto es solo mitigación.

    
respondido por el symcbean 08.04.2014 - 17:25
fuente
0

PHPIDS no sanea la entrada del usuario. Solo previene diferentes ataques. Puede ser una buena solución temporal, pero no es la ideal. Hay formas de omitir PHPIDS , por lo que se deben corregir las vulnerabilidades.

    
respondido por el VD_nsk 08.04.2014 - 12:27
fuente
0

Lo que está buscando es un firewall de aplicación web: enlace

Sin embargo, como han respondido otros carteles, le recomiendo que se tome su tiempo para corregir su código, incluso si implementa un firewall como este.

    
respondido por el Kotzu 08.04.2014 - 17:33
fuente
0

Puede usar una herramienta llamada OSE Security Suite, hay un modo silencioso, enciéndalo y saneará todas las entradas. En su caso, por lo que tengo entendido, no necesita usar el modo Bloqueo o el modo de error 403, ya que todo lo que desea es desinfectar todas las entradas. Esta es la página del producto, enlace , le sugiero que se ponga en contacto con El soporte antes de comprar el producto está 100% seguro de que puede desinfectar la entrada. ¡Buena suerte!

    
respondido por el Janet Wilson 09.04.2014 - 03:21
fuente

Lea otras preguntas en las etiquetas