Red de conocimiento del abogados - Bufete de abogados - Explicación detallada de la defensa contra tres vulnerabilidades de seguridad web importantes: soluciones de inyección XSS, CSRF y SQL

Explicación detallada de la defensa contra tres vulnerabilidades de seguridad web importantes: soluciones de inyección XSS, CSRF y SQL

Con la popularidad de Internet, la seguridad de la red se ha vuelto cada vez más importante. Los programadores como Java necesitan dominar conocimientos básicos de seguridad web para prevenir problemas antes de que ocurran. A continuación se presentan algunas vulnerabilidades de seguridad comunes y las soluciones de defensa correspondientes.

1. Seguridad front-end

2. Seguridad back-end

1. Introducción a XSS

Script entre sitios (cross script del sitio) abreviatura XSS es una vulnerabilidad de seguridad informática que aparece a menudo en aplicaciones web y también es el método de ataque más común en la web.

XSS se refiere a atacantes maliciosos que se aprovechan de las deficiencias del sitio web de no escapar de los datos enviados por los usuarios o del filtrado insuficiente, y luego agregan algo de código y lo incrustan en la página web, para que otros usuarios ejecuten el correspondiente código cuando lo visitan.

2. El daño de los ataques XSS

1. Robar información del usuario, como cuenta de inicio de sesión, cuenta bancaria en línea, etc.

2. Usar la identidad del usuario leer, manipular, añadir, eliminar datos corporativos sensibles, etc.

3. Robar información corporativa importante con valor comercial

4. Transferencias ilegales

5 . Envío forzado de correo electrónico

6. Malware de sitios web

7. Controlar la máquina de la víctima para lanzar ataques a otros sitios web

3. Soluciones para prevenir XSS

La causa principal de XSS es que los datos enviados por el cliente no se filtran por completo, por lo que el objetivo es filtrar la información enviada por el usuario.

1. Introducción a CSRF

Falsificación de solicitudes entre sitios CSRF (Cross-site request forgery), también conocida como "One Click Attack" o Session Riding, generalmente abreviada como CSRF o XSRF, es un uso malicioso del sitio web.

XSS explota a los usuarios confiables dentro de un sitio, mientras que CSRF explota los sitios web confiables disfrazando las solicitudes de los usuarios confiables. En comparación con los ataques XSS, CSRF es más peligroso.

2. El daño de los ataques CSRF

El daño principal proviene de los atacantes que roban las identidades de los usuarios y envían solicitudes maliciosas. Por ejemplo: simular el comportamiento del usuario para enviar correos electrónicos y mensajes, así como pagos, transferencias y otras seguridades patrimoniales.

3. Soluciones para prevenir CSRF

1. Introducción

La inyección SQL es uno de los métodos de ataque de red más comunes, principalmente mediante la inserción de comandos SQL. formulario o ingrese un nombre de dominio o cadena de consulta para una solicitud de página para iniciar sesión sin una cuenta o incluso alterar la base de datos.

2. Peligros de la inyección SQL

3. Formas de prevenir la inyección SQL

Por lo general, las ubicaciones de la inyección SQL incluyen:

(1) Envío de formularios, principalmente solicitudes POST, incluidas solicitudes GET

(2) Envío de parámetros de URL, principalmente parámetros de solicitud GET

(3) Envío de parámetros de cookies

(4) Algunos valores modificables en el encabezado de la solicitud HTTP, como Referer, User_Agent, etc.

4. Breve ejemplo

Dé un ejemplo simple para; Por ejemplo, seleccione * del usuario donde id=100 significa consultar la información del usuario con id 100. Si id=100 se convierte en id=100 o 2=2, el SQL se convertirá en: seleccione * del usuario donde id=100 o 2= 2. Se consultará toda la información de la tabla de usuarios. Esta es una inyección SQL típica.

5. Soluciones para prevenir la inyección SQL

1) Verificar la entrada del usuario y usar expresiones regulares para filtrar los parámetros entrantes

2) Usar sentencias parametrizadas, no empalmar SQL, o utilizar procedimientos almacenados seguros

3) No utilice conexiones de bases de datos con privilegios de administrador, utilice conexiones de bases de datos con privilegios limitados para cada aplicación

4) Verifique el tipo de almacenamiento de datos

4) Verifique el tipo de almacenamiento de datos

p>

5) La información importante debe estar cifrada

En resumen, es necesario filtrar, codificar y utilizar declaraciones parametrizadas, pero también realizar un procesamiento de cifrado para que las vulnerabilidades de inyección SQL se puedan resolver mejor. .

Lo anterior es una introducción a la seguridad web. Para obtener más diseños de arquitectura, como la serie Redis, Spring Cloud, Dubbo y otros microservicios, subbases de datos y tablas de bases de datos MySQL, consulte:

<. p> Responder a palabras clave ¡Obténgalo con alta concurrencia!