Red de conocimiento del abogados - Cuestiones jurídicas del divorcio - ¿Cuáles son las vulnerabilidades comunes en el desarrollo de sitios web de comercio electrónico?

¿Cuáles son las vulnerabilidades comunes en el desarrollo de sitios web de comercio electrónico?

1. Vulnerabilidades comunes de seguridad de sitios web PHP

Actualmente existen cinco vulnerabilidades comunes en PHP. Son vulnerabilidades de archivos de sesión, vulnerabilidades de inyección SQL, vulnerabilidades de ejecución de comandos de script, vulnerabilidades de variables globales y vulnerabilidades de archivos. A continuación se ofrece una breve introducción a estas vulnerabilidades.

1. Vulnerabilidad del archivo de sesión

El ataque de sesión es uno de los ataques más utilizados por los piratas informáticos. Cuando un usuario visita un sitio web, para evitar que ingrese su número de cuenta y contraseña cada vez que ingresa a la página, PHP configura Sesión y Cookie para facilitar el uso y acceso del usuario.

2. Vulnerabilidad de inyección SQL

Al desarrollar un sitio web, el programador carece de un juicio completo sobre los datos de entrada del usuario o el filtrado no es estricto, lo que hace que el servidor ejecute cierta información maliciosa. como consulta de información del usuario. Los piratas informáticos pueden obtener la información correspondiente en función de los resultados devueltos por programas maliciosos. Esta es una vulnerabilidad de inyección SQL en el vientre de la luna.

3. Vulnerabilidad de ejecución de scripts

Una causa común de vulnerabilidades de ejecución de scripts es que los programadores no filtran los parámetros de URL enviados por los usuarios cuando desarrollan sitios web. Las URL enviadas por los usuarios pueden contener datos maliciosos. code. , lo que provoca ataques de secuencias de comandos entre sitios. Anteriormente, los sitios web PHP a menudo tenían vulnerabilidades de ejecución de scripts, pero con la actualización de las versiones de PHP, estos problemas se han reducido o desaparecido.

4. La fragilidad de las variables globales

Las variables en PHP no necesitan ser declaradas de antemano como otros lenguajes de desarrollo. Las variables en PHP se pueden usar directamente sin declaración. El sistema las crea automáticamente cuando se usan y no es necesario explicar el tipo de variable. El sistema determina automáticamente el tipo de variable según el contexto. Este método puede reducir en gran medida la probabilidad de que los programadores cometan errores de programación y es muy conveniente de usar.

5. Vulnerabilidades de archivos

Las vulnerabilidades de archivos generalmente son causadas por desarrolladores de sitios web que no filtran adecuadamente los datos proporcionados externamente al diseñar sitios web, lo que hace que los piratas informáticos aprovechen las vulnerabilidades en el proceso web. .

2. Medidas preventivas para vulnerabilidades comunes en PHP

1. Prevenir vulnerabilidades de sesión

Del análisis anterior podemos saber que el ataque de sesión más común es secuestro de sesión, es decir, los piratas informáticos obtienen la ID de sesión del usuario a través de varios ataques y luego utilizan la identidad del usuario atacado para iniciar sesión en el sitio web correspondiente. Por esta razón, puede evitarlo mediante los siguientes métodos: primero, cambie el ID de la sesión periódicamente, lo que se puede lograr mediante las funciones propias de PHP; segundo, cambie el nombre de la sesión; En circunstancias normales, el nombre predeterminado de la sesión es PHPSESSID. Esta variable suele guardarse en una cookie. Si cambia el nombre, puede bloquear algunos ataques de piratas informáticos. El tercero es desactivar la identificación de sesión transparente. La llamada transparencia significa que cuando la solicitud HTTP no utiliza cookies para generar el ID de sesión, el ID de sesión se pasa a través del enlace. Se puede desactivar la identificación de sesión transparente operando el archivo PHP.ini. El cuarto método consiste en pasar parámetros ocultos a través de la URL, lo que garantiza que incluso si un pirata informático obtiene los datos de la sesión, le resultará difícil obtener el valor variable del ID de sesión porque los parámetros relevantes están ocultos.

2. Prevenir las vulnerabilidades de inyección SQL

Hay muchas formas para que los piratas informáticos inyecten SQL y son muy flexibles, pero la similitud de la inyección SQL es utilizar entradas para filtrar vulnerabilidades. Por lo tanto, para evitar fundamentalmente la inyección de SQL, la solución fundamental es fortalecer el filtrado de los comandos de solicitud, especialmente los comandos de solicitud de consulta. Específicamente, incluye los siguientes puntos: Primero, parametrizar la declaración de filtrado, es decir, ingresar información del usuario a través de una declaración parametrizada en lugar de incrustar directamente la entrada del usuario en la declaración. En segundo lugar, al desarrollar un sitio web, intente utilizar la menor cantidad de programas interpretativos posible. Los piratas informáticos suelen utilizar este método para ejecutar instrucciones ilegales; en tercer lugar, trate de evitar errores en el desarrollo del sitio web; de lo contrario, los piratas informáticos pueden utilizar esta información para atacar el sitio web; contra la inyección SQL no es suficiente. Además, siempre debe utilizar herramientas profesionales de escaneo de vulnerabilidades para escanear su sitio web en busca de vulnerabilidades.

3. Prevenir las vulnerabilidades de ejecución de scripts

Los piratas informáticos utilizan las vulnerabilidades de ejecución de scripts para atacar de diversas formas flexibles. Por lo tanto, se necesita un enfoque integral que utilice múltiples métodos de prevención para evitar de manera efectiva que los piratas informáticos ataquen las vulnerabilidades de ejecución de scripts. Hay cuatro métodos comúnmente utilizados aquí. Una es preestablecer la ruta del archivo ejecutable.

4. Prevención global de vulnerabilidad variable.

En cuanto a la vulnerabilidad de las variables globales de PHP, las versiones anteriores de PHP también tenían este tipo de problemas, pero después de actualizar la versión de PHP a 5.5, se puede lograr configurando php.ini y ruquest_order en GPC. Además, en el archivo de configuración php.ini, puede usar el valor booleano de Magic_quotes_runtime para establecer si los caracteres de desbordamiento de barra invertida se incluyen en los datos atraídos externamente. Para garantizar que el programa del sitio web pueda ejecutarse en cualquier estado de configuración del servidor.

5. Prevención de vulnerabilidades de archivos

Para fugas de archivos PHP, puede configurar y configurar el servidor para evitarlas.

Las operaciones específicas aquí son las siguientes: primero, desactive los mensajes de error en el código PHP para evitar que los piratas informáticos obtengan información de la base de datos y las rutas físicas de las páginas web a través de mensajes de error; en segundo lugar, configure open_basedir de todo corazón, lo que prohíbe las operaciones de archivos fuera de este directorio; Puede proteger archivos locales o archivos remotos. Protegerlos de ataques. También preste atención aquí para evitar ataques a archivos de sesión y archivos cargados. En tercer lugar, active safe-made para estandarizar los comandos que se ejecutarán. Al prohibir la carga de archivos, se puede mejorar eficazmente el factor de seguridad del sitio web PHP.