Red de conocimiento informático - Conocimiento informático - Cómo prevenir ataques XSS

Cómo prevenir ataques XSS

1.?El principio del ataque XSS

XSS originalmente se llamaba CSS (cross-site scripting). Debido a que tenía el mismo nombre que Cascading Style Sheets, pasó a llamarse XSS (X generalmente significa desconocido, pero también). significado extendido). Los ataques XSS involucran a tres partes: el atacante, el usuario y el servidor web. Los usuarios acceden a páginas web en el servidor de red a través de navegadores. Los ataques XSS se producen cuando los atacantes insertan sus propios scripts en páginas web a las que los usuarios acceden a través de varios métodos, de modo que estos scripts se ejecutan en el navegador del usuario cuando este accede a la página web. Al ejecutar el script insertado, el atacante obtiene la información del usuario (como cookies) y la envía al sitio web del propio atacante (cross-site). XSS se puede dividir en XSS reflectante, XSS persistente y XSS basado en DOM (en resumen, XSS es la ejecución del script personalizado del atacante en el navegador del usuario).

1.1? XSS reflejado

XSS reflejado o XSS no persistente significa que cuando un usuario hace clic en un enlace de ataque, el servidor lo analizará y luego responderá al código XSS del atacante, y el navegador responderá en la ejecución devuelta. estos códigos. De una forma u otra, el servidor web refleja el script de ataque XSS en el navegador para su ejecución, por lo que se denomina XSS reflejado.

Características:

1gt; el código de ataque XSS no es persistente, es decir, no se guardará en el servidor web, sino que aparecerá en la dirección URL;

2gt; No persistente, los métodos de ataque son diferentes. Generalmente, el atacante envía la URL del ataque a través de correo electrónico, software de chat, etc., y luego el usuario hace clic en la URL para implementar el ataque;

1.2? XSS persistente

¿La diferencia? radica en el código malicioso XSS que se almacena en el servidor web, por lo que cada usuario que visita una página web específica es vulnerable al ataque.

Características:

1gt; el código de ataque XSS se almacena en el servidor web;

2gt; los atacantes generalmente utilizan los mensajes, comentarios, blogs y registros del sitio web. etc. función (todos los lugares donde se puede ingresar el código de ataque) para llevar a cabo un ataque. funcionalidad (en cualquier lugar donde pueda ingresar contenido al servidor web), almacenar el código de ataque en el servidor web.

El XSS persistente y el XSS reflejado a veces se usan juntos, por ejemplo, codificando primero la URL del ataque (evitando). el Por supuesto, cuando un usuario hace clic en la URL, también se puede desencadenar un ataque CSRF (falsificación de solicitud entre sitios).

1.3? XSS basado en DOM

XSS basado en DOM significa que el servidor web no participa, solo el navegador participa en XSS. Por ejemplo, la creación dinámica de nodos DOM basados ​​en la entrada del usuario también puede provocar ataques XSS si la entrada del usuario no se filtra. Considere usar esapi4js para filtrar.