Red de conocimiento informático - Material del sitio web - ¿Cuáles son las lagunas comunes en el desarrollo de sitios web de comercio electrónico?

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

Vulnerabilidades comunes de seguridad de sitios web PHP

En el caso de las vulnerabilidades PHP, actualmente existen cinco vulnerabilidades comunes. 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 muestra una breve descripción de cada vulnerabilidad.

1. Vulnerabilidad del archivo de sesión

El ataque de sesión es uno de los métodos de ataque más comunes utilizados por los piratas informáticos. Cuando un usuario visita un sitio web, para evitar que el cliente tenga que perder su cuenta y contraseña al ingresar a una determinada página, PHP establecerá sesión y cookies para facilitar el uso y acceso del usuario.

2. Vulnerabilidad de inyección SQL

Durante el proceso de desarrollo del sitio web, los programadores carecen de un juicio integral o un filtrado estricto de los datos ingresados ​​por los usuarios, lo que hace que el servidor ejecute cierta información maliciosa, como el usuario. Consulta de información, etc. Los piratas informáticos pueden obtener la información correspondiente en función de los resultados devueltos por programas maliciosos. Esta es la vulnerabilidad de inyección SQL de Yue Xingwei.

3. Vulnerabilidad de ejecución de scripts

La razón común de la vulnerabilidad de ejecución de scripts es que los programadores no filtran los parámetros de URL enviados por los usuarios cuando desarrollan sitios web. -Ataques de scripts de sitios. Las vulnerabilidades de ejecución de scripts a menudo estaban presentes en sitios web PHP más antiguos, pero a medida que se actualizaron las versiones de PHP, estos problemas se redujeron o ya no estaban presentes.

4. Vulnerabilidad de variable global

A diferencia de otros lenguajes de desarrollo que requieren una declaración previa cuando usan variables, las variables PHP se pueden usar directamente sin declaración. El sistema las crea automáticamente cuando se usan. y no es necesario declararlos por adelantado. Especifique el tipo de variable y el sistema determinará automáticamente el tipo de variable según el contexto. El sistema determina automáticamente el tipo de variable según el contexto. Este enfoque reduce en gran medida la posibilidad de errores del programador y es muy fácil de usar.

5. Vulnerabilidades de archivos

Las vulnerabilidades de archivos generalmente son causadas por desarrolladores web que no filtran completamente los datos externos proporcionados al diseñar la página web, lo que hace que los piratas informáticos utilicen la vulnerabilidad para ejecutar las acciones correspondientes. el comando de la página web.

2. Medidas preventivas para vulnerabilidades comunes de PHP

1. Medidas preventivas para vulnerabilidades de sesión

Del análisis anterior podemos saber que los ataques de sesión son los más frecuentes. común El más común es el secuestro de sesión, es decir, los piratas informáticos obtienen el ID de sesión del usuario a través de varios métodos de ataque y luego usan la identidad del usuario atacado para iniciar sesión en el sitio web correspondiente. Por esta razón, se pueden utilizar los siguientes métodos para evitarlo: Primero, reemplace el ID de la sesión con regularidad, lo que se puede lograr usando una función que viene con PHP. En segundo lugar, reemplace el nombre de la sesión. Generalmente, el nombre predeterminado de la sesión es. PHPSESSID. Esta variable generalmente se guarda en una cookie; si cambia su nombre, puede detener a los piratas informáticos. Si cambia su nombre, puede bloquear algunos ataques de piratas informáticos; el tercero es el proceso de desactivar el ID de sesión transparente. La llamada transparencia significa que no se utiliza ninguna cookie para configurar el ID de sesión en la solicitud http y la sesión. La identificación se pasa mediante un enlace. Se puede desactivar el ID de sesión transparente operando el archivo PHP.ini. El cuarto es 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, será difícil obtener la variable ID de sesión. valor porque los parámetros relevantes están ocultos.

2. Prevención de vulnerabilidades de inyección SQL

Los piratas informáticos tienen muchos métodos de inyección SQL y son muy flexibles, pero la inyección SQL **** también utiliza vulnerabilidades de filtrado de entrada. 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, el filtrado parametrizado de declaraciones, es decir, la entrada de información del usuario se logra mediante la parametrización de declaraciones, en lugar de incorporar directamente la entrada del usuario en las declaraciones. La primera es parametrizar las declaraciones filtradas, es decir, realizar la entrada de información del usuario a través de declaraciones parametrizadas en lugar de incrustar la entrada del usuario directamente en las declaraciones. El segundo es utilizar lo menos posible intérpretes durante el desarrollo de un sitio web. Los piratas informáticos suelen utilizar este método para ejecutar comandos ilegales.

3. Prevención de vulnerabilidades de ejecución de scripts

Los métodos utilizados por los piratas informáticos para explotar las vulnerabilidades de ejecución de scripts son diversos y flexibles. Para ello debemos adoptar múltiples métodos únicamente combinando varios. Los métodos de prevención nos permiten prevenir eficazmente ataques de vulnerabilidades de ejecución de scripts de piratas informáticos. A continuación se presentan cuatro métodos comúnmente utilizados. Una es establecer la ruta al archivo ejecutable de antemano.

4. Precauciones contra las vulnerabilidades de las variables globales

En cuanto a las vulnerabilidades de las variables globales de PHP, las versiones anteriores de PHP tenían tales problemas, pero después de que la versión de PHP se actualizó a 5.5, puedes pasar php. ini, configure ruquest_order en GPC para lograr esto. Además, en el archivo de configuración php.ini, también puede establecer si los caracteres de desbordamiento de barra invertida en datos de referencia externos se pueden configurar booleanizando Magic_quotes_runtime. Para garantizar que los programas de red puedan ejecutarse en cualquier estado establecido por el servidor.

5. Prevención de vulnerabilidades de archivos

La prevención de fugas de archivos PHP en el servidor se puede lograr mediante ajustes y configuraciones. Las operaciones específicas aquí son las siguientes: primero, desactive el mensaje de error en el código PHP, para evitar que los piratas informáticos obtengan la información de la base de datos y la ruta física del archivo de la página web a través del mensaje de error, en segundo lugar, configure open_basedir debidamente; es decir, para archivos fuera del directorio Realice el procesamiento de operaciones prohibidas, esto puede proteger los archivos locales o remotos de ataques, ¡aquí! También preste atención a prevenir ataques a archivos de sesión y archivos cargados; en tercer lugar, establezca el estado activado de forma segura, que regulará la ejecución de comandos. Al prohibir la carga de archivos, se puede mejorar de manera efectiva el factor de seguridad del sitio web PHP.