Defensa de inyección mysql

Defensa de inyección mysql


1. Defensa de la capa de aplicación

1. La razón esencial para la inyección de SQL es el problema de la capa de aplicación.

2. El objetivo de la defensa de la capa de aplicación de inyección SQL es reparar todas las posibles vulnerabilidades en SQL y tomar precauciones.

  • Filtrar caracteres básicos de inyección SQL:

'o "cierre de cuerda

- O # comentario de una sola línea

/*...*/ Comentarios de varias líneas

+ Signo más, reemplace los caracteres de empalme de espacio en la URL

empalme de caracteres concat

% Comodín

? Param1 = foo & Param2 = parámetro de URL de barra

seleccionar constantes de impresión de URL, etc.

@ variable local variable

@@ variable variable global

Duerme 10 Duerme 10 segundos

  • Filtrar palabras clave SQL

    如 : agregue la base de datos cruzada de verificación de llamadas asc, ambas bases de datos modifican según la creación de casos

  • Cifrado general de los parámetros de URL

    • URL original

      https://61.106.xxx.xxx/corp/tokusyu.php?mid=1&tksid=473

    • Procesamiento de cifrado completo

      https://61.206.xxx.xxx/corp/tokusyu.php?action=LSKDJFOINWHEO


2. Defensa a nivel del sistema

1. La razón esencial para la inyección de SQL no es un problema a nivel del sistema.

2. La función auxiliar de la defensa en la capa del sistema es evitar que la inyección SQL interactúe con la capa del sistema para escalar los derechos y evitar una mayor expansión de los permisos de inyección SQL, haciendo que la inyección SQL sea inútil en la capa del sistema.

  • Las restricciones de iptables solo permiten una IP de servidor y un puerto de inicio de sesión específicos

    Después de que la inyección de SQL del pirata informático tenga éxito en la escalada, evite que se propague a otros servidores

  • Utilice el firewall de la aplicación para rechazar waf para inyección SQL

  • Middleware de seguridad de base de datos, como greenSQL, perro de seguridad, etc.


En tercer lugar, la defensa de la capa de base de datos

1. La causa esencial de la inyección SQL no es un problema con la capa de la base de datos.

2. El objetivo de la defensa de la capa de base de datos es auxiliar, para evitar la inyección de SQL y la interacción de la capa de datos para escalar los derechos, para evitar una mayor expansión de los permisos y la fuga de datos después de que la inyección de SQL sea exitosa.

  • Principios para minimizar la base de datos

    revocar archivo en *. * de zhangsan @ '%'; // Privar al usuario zhangsan de los permisos de lectura de archivos

    La asignación de permisos para las conexiones del programa se basa en el principio de minimización, así que no sea generoso si puede guardarlo.

    Si la mayoría de los programas de datos están conectados con permisos de selección, inserción, actualización y eliminación, solo se otorgan estos permisos. De esta manera, no se requiere permiso de ARCHIVO para leer archivos en la capa del sistema de archivos, por lo que la ruta para interactuar con la capa del sistema para escalar los derechos está bloqueada, lo que hace que la inyección de SQL sea inútil.

  • Requisitos de estandarización para el diseño de capas de bases de datos

    • Los requisitos de esta revisión SQL profesional de DBA

    • Cómo diseñar para mantener el alto rendimiento tanto como sea posible, al mismo tiempo que se evita la posibilidad de errores de adivinación de SQL

    • El diseño de la arquitectura de la base de datos considera el compromiso entre rendimiento y seguridad y, por lo general, considera el compromiso de la seguridad con la premisa de garantizar el rendimiento.

      Varchar (20) compromiso entre seguridad y rendimiento

      varchar (5) está sesgado hacia el rendimiento, como resultado, el rendimiento y la seguridad no están al mismo tiempo

Supongo que te gusta

Origin blog.csdn.net/qq_43665434/article/details/114629924
Recomendado
Clasificación