Las preguntas y respuestas de la entrevista sobre seguridad de red más completas de la historia

1. ¿Qué es el ataque de inyección SQL?

El código de interfaz no se analizó y se sustituyó en la base de datos, lo que provocó que la base de datos informara un error.

2. ¿Qué es el ataque XSS?

Los ataques de secuencias de comandos entre sitios incorporan secuencias de comandos maliciosas del lado del cliente en las páginas web. El lenguaje S se usa comúnmente, pero también se usan otros lenguajes de secuencias de comandos.

Es un ataque del lado del cliente. La víctima es el usuario y el administrador del sitio web también es un usuario. El atacante suele utilizar la identidad del administrador como trampolín.

3. ¿Qué es el ataque CSRF?

Cuando se desarrolló el programa, el token y el REFERER de las páginas relevantes no fueron juzgados, lo que permitió al atacante construir su propia dirección URL para engañar al usuario objetivo para que hiciera clic.

4. ¿Qué es una vulnerabilidad de carga de archivos?

La vulnerabilidad de carga de archivos arbitraria se refiere al hecho de que debido al control insuficiente del programador o a defectos de procesamiento en la parte de carga de archivos del usuario, el usuario puede cargar archivos de script dinámicos ejecutables al servidor más allá de sus propios permisos.

5. Ataque DDos

Denegación de servicio distribuida, un ataque de denegación de servicio distribuido se refiere al uso de tecnología cliente/servidor para unir varias computadoras como plataforma de ataque para lanzar ataques DDoS contra uno o más objetivos, aumentando así exponencialmente el poder del ataque de denegación de servicio.

6. Mapa de distribución de protocolos importantes.

1. Capa de red, protocolo IP + dirección MAC

2. Capa de transporte, protocolos TCP, UTP

3. Capa de aplicación, protocolos HTTP, SSH, FTP

7. Principio de funcionamiento del protocolo arp

Cada vez que un host tiene un datagrama IP para enviar a otro host, necesita conocer la dirección lógica (IP) del destinatario. Pero las direcciones IP deben encapsularse en tramas para pasar a través de la red física. Esto significa que el remitente debe tener la dirección física (MAC) del receptor, por lo que es necesario completar la asignación de dirección lógica a dirección física. El protocolo ARP puede recibir la dirección lógica del protocolo IP, asignarla a la dirección física correspondiente y luego enviar la dirección física a la capa de enlace de datos.

8. ¿Qué es RARP?¿Cómo funciona?

En una red informática, cada dispositivo tiene una dirección física única (dirección MAC) que se utiliza para identificar el dispositivo en la red local. Sin embargo, para comunicarse en la red, cada dispositivo también debe tener una dirección IP única. Normalmente, las direcciones IP se configuran manualmente, pero en algunos casos puede ser necesario asignar direcciones IP automáticamente. En este momento, debes utilizar el protocolo RARP.

1. Cuando un dispositivo se inicia, enviará una solicitud RARP a la red para obtener su propia dirección IP.

2. Después de recibir la solicitud, el servidor RARP buscará la dirección MAC del dispositivo y devolverá su dirección IP correspondiente al dispositivo.

3. Una vez que el dispositivo recibe la dirección IP, puede comenzar a comunicarse en la red.

Cabe señalar que el protocolo RARP solo funciona dentro de la LAN porque requiere comunicación entre todos los dispositivos en la misma red física. En redes más grandes, el protocolo DHCP se utiliza a menudo para asignar direcciones IP automáticamente.

9. ¿Qué es DNS?¿Cómo funciona DNS?

DNS es un sistema de nombres distribuido que asigna nombres de dominio a direcciones IP. La función principal del DNS es convertir nombres de dominio fáciles de usar en direcciones IP que las computadoras puedan entender para que las solicitudes de los usuarios puedan enrutarse al servidor correcto.

Cómo funciona el DNS:

1. El usuario ingresa un nombre de dominio en el navegador, como www.ejemplo.com.

2. El sistema operativo envía una solicitud de consulta DNS al servidor DNS local, solicitando la dirección IP del nombre de dominio www.example.com.

3. Si el servidor DNS local tiene la dirección IP de www.example.com almacenada en su caché, devolverá esa dirección IP.

4. Si el servidor DNS local no conoce la dirección IP de www.example.com, enviará una solicitud de consulta al servidor DNS raíz.

5. El servidor DNS raíz dirigirá el servidor DNS local al servidor DNS de nivel superior responsable del dominio .com.

6. El servidor DNS local enviará una solicitud de consulta al servidor DNS de nivel superior .com para solicitar la dirección IP de www.example.com.

7. El servidor DNS de nivel superior .com dirigirá el servidor DNS local al servidor DNS autorizado responsable de example.com.

8. El servidor DNS local enviará una solicitud de consulta al servidor DNS autorizado de ejemplo.com, solicitando la dirección IP de www.ejemplo.com.

9. El servidor DNS autorizado devolverá la dirección IP de www.example.com y el servidor DNS local almacenará en caché el resultado y lo devolverá al sistema operativo.

10. El sistema operativo utilizará la dirección IP para conectarse al servidor de www.example.com para obtener las páginas web requeridas u otros recursos.

10. ¿Qué es el protocolo rip?¿Cómo funciona rip?

RIP es un protocolo de enrutamiento basado en vectores de distancia que se utiliza para intercambiar información de enrutamiento en una LAN o WAN y calcular la mejor ruta de enrutamiento. RIP es un protocolo de enrutamiento relativamente simple que se usa comúnmente en entornos de redes pequeñas.

Cómo funciona el protocolo RIP:

1. El protocolo RIP divide toda la red en varios segmentos de red. Cada segmento de red tiene un identificador único, llamado número de red.

2. Cada enrutador mantiene una tabla de enrutamiento, registrando la distancia a diferentes redes y la información del enrutador del siguiente salto.

3. El enrutador transmitirá periódicamente la información de su tabla de enrutamiento a los enrutadores vecinos para que estos conozcan su situación de enrutamiento.

4. Cuando un enrutador recibe información de enrutamiento de un enrutador adyacente, comparará su propia tabla de enrutamiento con ella. Si el enrutador adyacente proporciona una ruta más corta, actualizará su propia tabla de enrutamiento y agregará esta información y la transmitirá a los enrutadores vecinos.

5. El enrutador actualizará continuamente su tabla de enrutamiento hasta que toda la información de enrutamiento se haya propagado a todos los enrutadores de la red y todas las tablas de enrutamiento de la red sean consistentes.

11. Desventajas del RIP

1. Velocidad de convergencia lenta: cuando ocurre una falla o la topología cambia en la red, el protocolo RIP tarda mucho en actualizar la tabla de enrutamiento de toda la red. Esto se debe a que el protocolo RIP tiene un ciclo de actualización largo y utiliza un algoritmo de vector de distancia, que no puede adaptarse rápidamente a los cambios de la red.

2. No admite redes a gran escala: el protocolo RIP solo puede admitir redes de menor escala. Cuando la escala de la red aumenta, el protocolo RIP generará una gran cantidad de información de enrutamiento, consumiendo así una gran cantidad de ancho de banda y potencia de procesamiento. , lo que resulta en una disminución en el rendimiento de la red.

3. No es compatible con VLSM: el protocolo RIP solo puede admitir máscaras de subred de longitud fija y no puede admitir máscaras de subred de longitud variable (VLSM), lo que limita la aplicación del protocolo RIP en entornos de red complejos.

4. Seguridad deficiente: el protocolo RIP no verifica ni cifra la información de enrutamiento, lo que lo hace vulnerable a engaños y ataques, lo que genera problemas de seguridad en la red.

12. ¿Protocolo OSPF?Cómo funciona OSPF

OSPF es un protocolo de enrutamiento que se utiliza para implementar el algoritmo de ruta más corta primero (SPF) en un único sistema autónomo (AS) para determinar la ruta de transmisión de paquetes de datos.

Cómo funciona el protocolo OSPF:

1. Descubrimiento de vecinos: en la fase de descubrimiento de vecinos, el protocolo OSPF confirma las relaciones entre vecinos enviando y recibiendo mensajes de saludo. Si se establece una relación de vecino entre dos enrutadores, comenzarán a intercambiar información de enrutamiento.

2. Sincronización de la base de datos del estado del enlace: cada enrutador OSPF almacena la información del estado del enlace en una base de datos del estado del enlace local (Link State Database, LSDB). Cuando dos enrutadores vecinos establecen una relación de vecinos, intercambiarán la información de estado de su enlace respectivo y la almacenarán en el LSDB local. En este punto, cada enrutador intentará sincronizar sus LSDB.

3. Cálculo de SPF: después de que cada enrutador tenga un LSDB completo, utilizará el algoritmo SPF para calcular el árbol de ruta más corto (árbol de ruta más corto) y lo almacenará en la tabla de enrutamiento. El árbol de ruta más corta se refiere a la ruta más corta desde un enrutador a todos los demás enrutadores.

4. Actualización de enrutamiento: cada enrutador enviará periódicamente mensajes de actualización para notificar a otros enrutadores que el estado de su enlace ha cambiado. Cuando un enrutador recibe un mensaje de actualización, actualiza su LSDB y vuelve a calcular el árbol de ruta más corto.

5. Transmisión de datos: cuando un paquete de datos llega a un enrutador, el enrutador utilizará el árbol de ruta más corta para determinar el siguiente enrutador y reenviar el paquete de datos a ese enrutador.

13. ¿Resumen de las diferencias entre TCP y UDP?

1. Conexión: TCP es un protocolo orientado a conexión, mientras que UDP es un protocolo sin conexión. Esto significa que TCP requiere que se establezca una conexión antes de enviar datos, mientras que UDP no.

2. Confiabilidad: TCP proporciona una transmisión de datos confiable porque utiliza mecanismos de confirmación y retransmisión para garantizar la exactitud de la transmisión de datos. UDP no tiene este mecanismo, por lo que es posible que se pierdan paquetes.

3. Velocidad: UDP es más rápido que TCP porque no establece un mecanismo de conexión ni de confirmación, y los datos se pueden transmitir más rápido.

4. Ancho de banda: TCP tiene control de congestión adaptativo, que puede ajustar dinámicamente la velocidad de transmisión para adaptarse a las condiciones de la red, maximizando así el uso del ancho de banda disponible. UDP no tiene esta función.

5. Ámbito de aplicación: TCP es adecuado para aplicaciones que requieren una transmisión confiable y una entrega ordenada, como correo electrónico, transferencia de archivos y navegadores web. UDP es adecuado para aplicaciones que requieren transmisión rápida y rendimiento en tiempo real, como transmisión de video, juegos y llamadas de audio.

14. ¿Qué es un protocolo de enlace de tres vías y cuatro ondas? ¿Por qué TCP necesita un protocolo de enlace de tres vías?

El apretón de dedos de tres vías es el proceso de tres intercambios de datos entre el cliente y el servidor al establecer una conexión TCP.

1. El cliente envía un paquete SYN al servidor, indicando una solicitud para establecer una conexión.

2. El servidor recibe la solicitud SYN y envía un paquete SYN+ACK al cliente para confirmar la solicitud y aceptar establecer la conexión.

3. El cliente recibe la solicitud SYN+ACK del servidor y envía un paquete ACK al servidor para confirmar que se ha establecido la conexión.

El movimiento de cuatro dedos es el proceso de cuatro intercambios de datos entre el cliente y el servidor cuando TCP cierra la conexión.

1. El cliente envía un paquete FIN al servidor, indicando una solicitud para cerrar la conexión.

2. El servidor recibe la solicitud FIN y envía un paquete ACK al cliente para confirmar la recepción de la solicitud.

3. El servidor envía un paquete FIN al cliente, lo que indica que el servidor también solicita cerrar la conexión.

4. El cliente recibe la solicitud FIN del servidor y envía un paquete ACK al servidor para confirmar la recepción de la solicitud y la conexión se cierra oficialmente.

¿Por qué TCP necesita tres apretones de manos?

Principalmente para garantizar la fiabilidad de la conexión. Durante el proceso de establecimiento de una conexión, es necesario asegurarse de que las capacidades de envío y recepción de ambas partes sean normales; de lo contrario, la comunicación normal no será posible una vez establecida la conexión. El protocolo de enlace de tres vías garantiza una transferencia normal de información entre el cliente y el servidor y evita que los paquetes retrasados ​​en la red se confundan con solicitudes de conexión válidas.

15. La diferencia entre OBTENER y POST

1. Las solicitudes GET se utilizan para obtener recursos y, por lo general, no cambian los datos en el servidor. Las solicitudes GET pasan datos a través de la URL y los datos se agregan al final de la URL para formar una cadena de consulta. La cadena de consulta comienza con un signo de interrogación "?" y los parámetros están conectados con el símbolo "&". Dado que los datos se pasan en texto claro, no es adecuado para transmitir datos confidenciales. Además, la longitud de las URL es limitada y los diferentes navegadores tienen diferentes restricciones en cuanto a la longitud de las URL.

2. La solicitud POST se utiliza para enviar datos, que generalmente cambia los datos en el servidor. Las solicitudes POST pasan datos a través del cuerpo de la solicitud y los datos no se agregan a la URL. Debido a que los datos se incluyen en el cuerpo de la solicitud, no hay límite de longitud de URL para las solicitudes POST. Las solicitudes POST son adecuadas para transmitir grandes cantidades de datos o datos confidenciales. Las solicitudes GET son adecuadas para solicitar datos, mientras que las solicitudes POST son adecuadas para enviar datos.

16. La diferencia entre cookies y sesiones.

La principal diferencia entre Cookies y Session es que Cookies es una tecnología que almacena datos en el lado del cliente, mientras que Session es una tecnología que almacena datos en el lado del servidor. Las cookies pueden almacenar información simple, mientras que Session puede almacenar cualquier tipo de datos. Además, las Cookies se pueden compartir entre varios navegadores, mientras que las Sesiones sólo se pueden compartir entre el mismo navegador.

17. ¿Cómo funciona la sesión?

1. Cuando un usuario accede a una página que requiere autenticación, el servidor crea una ID de sesión única y almacena la ID en una estructura de datos llamada objeto de sesión.

2. El servidor enviará el ID de sesión al navegador del cliente, generalmente configurando un encabezado llamado "Set-Cookie" en el encabezado de respuesta HTTP.

3. Cuando el navegador del cliente recibe el ID de sesión enviado por el servidor, almacena el ID en una estructura de datos llamada cookie para que el ID pueda enviarse de vuelta al servidor en solicitudes posteriores.

4. Cuando el usuario realiza otras solicitudes, el navegador enviará automáticamente la cookie que contiene el ID de sesión al servidor. El servidor encontrará el objeto de sesión correspondiente según el ID de sesión y leerá o almacenará los datos del usuario asociados con el objeto de sesión.

5. Cuando el usuario cierra el navegador o la sesión se agota, el objeto de la sesión y los datos de la sesión se eliminarán de la memoria del servidor para liberar recursos del servidor.

18. Un proceso de solicitud HTTP completo

1. Resolución DNS: cuando el navegador inicia una solicitud de URL, primero debe convertir el nombre de dominio en la URL en la dirección IP correspondiente, proceso que se denomina resolución DNS. El navegador primero verificará si la dirección IP del nombre de dominio existe en el caché y, de lo contrario, iniciará una solicitud al servidor DNS local.

2. Establezca una conexión TCP: una vez que el navegador obtiene la dirección IP del servidor de destino, necesita establecer una conexión TCP. Una conexión TCP es una conexión confiable que se establece mediante un protocolo de enlace de tres vías.

3. Inicie una solicitud HTTP: una vez establecida la conexión TCP, el navegador enviará una solicitud HTTP al servidor. Las solicitudes HTTP incluyen el método de solicitud (GET, POST, PUT, DELETE, etc.), URL, número de versión HTTP, encabezado de solicitud y otra información.

4. Respuesta del servidor: una vez que el servidor recibe la solicitud, la procesará de acuerdo con el contenido de la solicitud y devolverá una respuesta HTTP al navegador. La respuesta HTTP incluye código de estado de respuesta, encabezado de respuesta, cuerpo de respuesta y otra información.

5. Recibir el contenido de la respuesta: después de que el navegador reciba la respuesta HTTP devuelta por el servidor, determinará el tipo de cuerpo de la respuesta según el campo Tipo de contenido en el encabezado de la respuesta y luego analizará el cuerpo de la respuesta en el formato correspondiente y hazlo.

6. Cierre la conexión TCP: cuando se transmita el contenido de la respuesta, la conexión TCP se cerrará y se liberarán los recursos.

19. La diferencia entre HTTPS y HTTP

HTTP es el Protocolo de transferencia de hipertexto, que es un protocolo básico para transferir datos, pero no proporciona ninguna capacidad de autenticación o cifrado de datos. Esto significa que los datos transmitidos por HTTP pueden ser interceptados o manipulados, por lo que no es adecuado para transmitir datos confidenciales como números de tarjetas de crédito, contraseñas, etc.

HTTPS es un protocolo de seguridad basado en HTTP, que garantiza la seguridad de los datos agregando cifrado SSL/TLS además de HTTP. HTTPS autentica el servidor web mediante certificados digitales y utiliza algoritmos de cifrado de clave pública para cifrar la transmisión de datos y garantizar que los datos no sean interceptados ni manipulados durante la transmisión. Esto hace que HTTPS sea ideal para transmitir datos confidenciales como números de tarjetas de crédito, contraseñas, etc.

20. ¿Cuáles son los modelos de siete capas de OSI?

Capa física --> Capa de parámetros de datos --> Capa de enlace de datos --> Capa de red --> Capa de transporte --> Capa de presentación --> Capa de aplicación

21. La diferencia entre conexión http larga y conexión corta

La conexión corta HTTP significa que después de que el cliente envía una solicitud al servidor, el servidor cierra la conexión inmediatamente después de devolver una respuesta. La ventaja de este método es que puede ahorrar recursos del servidor, pero cada solicitud requiere establecer una nueva conexión, lo que puede aumentar el retraso de la solicitud y reducir el rendimiento.

Una conexión HTTP larga significa que después de que se establece una conexión entre el cliente y el servidor, se realizan múltiples solicitudes y respuestas en esta conexión. La ventaja de este método es que puede reducir el costo de establecer una conexión y mejorar el rendimiento, pero aumentará la ocupación de los recursos del servidor.

Cabe señalar que las conexiones largas HTTP no siempre mantienen una conexión abierta, pero mantienen el estado de la conexión dentro de un cierto período de tiempo. Después de un cierto período de tiempo, si no hay nuevas solicitudes y respuestas, la conexión se cerrará automáticamente para liberar recursos del servidor.

22. ¿Cómo garantiza TCP una transmisión confiable?

1. Número de secuencia y mecanismo de respuesta de confirmación: cada segmento de mensaje TCP tiene un número de secuencia único, que se utiliza para identificar la posición del segmento de mensaje en el flujo de datos. Después de recibir el mensaje, el receptor TCP enviará una respuesta de confirmación para informarle al remitente qué datos se han recibido. Si el remitente no recibe un acuse de recibo, reenviará el segmento.

2. Mecanismo de ventana deslizante: TCP utiliza un mecanismo de ventana deslizante para controlar la cantidad de datos enviados por el remitente. El receptor le dirá al remitente el tamaño de su ventana de recepción y el remitente enviará datos de acuerdo con el tamaño de la ventana del receptor. Si el remitente envía más datos que el tamaño de la ventana del receptor, el receptor se negará a recibir el exceso de datos.

3. Mecanismo de retransmisión por tiempo de espera: si el remitente no recibe una respuesta de confirmación, pensará que los datos se han perdido y los reenviará. El remitente determinará el intervalo de tiempo y la cantidad de retransmisiones según el temporizador para garantizar una transmisión confiable de datos.

4. Mecanismo de control de congestión: TCP utiliza un mecanismo de control de congestión para controlar el tráfico en la red y evitar la congestión de la red. Si hay congestión en la red, TCP reducirá la tasa de envío del remitente para reducir el grado de congestión de la red.

23. ¿Cuáles son los códigos de estado comunes?

1xx (código de estado informativo): Indica que la solicitud ha sido recibida y el procesamiento continúa.

100 Continuar: La solicitud ha sido aceptada y el cliente debe continuar con la solicitud.

101 Protocolos de conmutación: El protocolo solicitado ha cambiado.

2xx (código de estado de éxito): indica que la solicitud se recibió, entendió y aceptó exitosamente.

200 OK: La solicitud se procesó exitosamente.

201 Creado: la solicitud se procesó exitosamente y se creó el recurso.

202 Aceptado: El servidor aceptó la solicitud, pero no completó el procesamiento.

204 Sin contenido: la solicitud se procesó exitosamente, pero no hay contenido de respuesta.

3xx (código de estado de redireccionamiento): indica que se requieren más acciones por parte del cliente para completar la solicitud.

301 movido permanentemente: el recurso solicitado se ha movido permanentemente a una nueva ubicación.

302 Encontrado: el recurso solicitado se ha movido temporalmente a una nueva ubicación.

304 No modificado: el recurso solicitado no se ha modificado y el cliente puede usar el caché local.

4xx (código de estado de error del cliente): indica que la solicitud enviada por el cliente tiene un error.

400 Solicitud incorrecta: la solicitud no es válida y el servidor no puede analizarla.

401 No autorizado: la solicitud requiere autenticación.

403 Prohibido: la solicitud fue rechazada por el servidor.

404 No encontrado: el recurso solicitado no existe.

5xx (código de estado de error del servidor): indica que el servidor encontró un error al procesar la solicitud.

500 Error interno del servidor: Error interno del servidor.

503 Servicio no disponible: el servidor actualmente no puede procesar la solicitud. Generalmente, el servidor está sobrecargado o en mantenimiento.

2 4. ¿Qué es SSL? ¿Cómo garantiza https la seguridad de la transmisión de datos (cómo funciona SSL para garantizar la seguridad)?

SSL se utiliza para la comunicación segura en la red. El objetivo principal de SSL es proteger la seguridad, integridad y confidencialidad de los datos transmitidos a través de la red.

HTTPS es un protocolo de seguridad que agrega el protocolo SSL/TLS al protocolo HTTP, lo que puede garantizar que la comunicación entre el sitio web y el cliente esté cifrada y sea segura.

¿Cómo garantiza HTTPS la seguridad de la transmisión de datos?

1. Cifrado: el protocolo SSL/TLS utiliza una combinación de cifrado simétrico y cifrado asimétrico para garantizar la seguridad de los datos durante la transmisión. El cifrado simétrico se utiliza para cifrar datos y el cifrado asimétrico se utiliza para intercambiar claves entre el cliente y el servidor.

2. Autenticación: el certificado emitido por la autoridad certificadora se utiliza para verificar la identidad y la clave pública del servidor para evitar engaños y ataques de intermediarios.

3. Integridad: el protocolo SSL/TLS utiliza un algoritmo de resumen de mensajes para generar un resumen de mensajes aplicando hash al mensaje para garantizar la integridad de los datos durante la transmisión.

25. ¿Cómo garantizar que la clave pública no sea manipulada?

1. Firma digital: antes de que se libere la clave pública, utilice la clave privada para firmar digitalmente la clave pública, de esta manera, al verificar la clave pública, solo necesita verificar la firma digital para determinar la autenticidad de la clave pública.

2. Infraestructura de clave pública (PKI): PKI es un conjunto de tecnologías y protocolos utilizados para gestionar certificados digitales y claves públicas para garantizar la seguridad y confiabilidad de las claves públicas.

3. Hashing de clave pública: haga hash de la clave pública y luego publique el valor hash para garantizar que la clave pública no haya sido manipulada.

4. Protección física: almacenar la clave pública en un dispositivo físico, como una tarjeta inteligente o una llave USB, puede proteger la clave pública contra manipulaciones.

26. ¿Cómo utilizar la ruta absoluta en php?

1. dirname(__FILE__) o dirname(__FILE__): ambas funciones pueden obtener el nombre del directorio del script actual, que es la ruta a la carpeta donde se encuentra el script actual. Luego puede usar la función realpath() para convertir el nombre del directorio en una ruta absoluta. Por ejemplo: $absPath = realpath(dirname(__FILE__));

2. $_SERVER['DOCUMENT_ROOT']: Esta variable contiene la ruta absoluta al directorio raíz del documento donde se encuentra el script actual. Puede usar esta variable con la variable $_SERVER['PHP_SELF'] para obtener la ruta absoluta al script actual. Por ejemplo: $absPath = $_SERVER['DOCUMENT_ROOT'] $_SERVER['PHP_SELF'];

Cabe señalar que debe prestar atención a la seguridad al utilizar la variable $_SERVER['PHP_SELF'], ya que puede ser atacada por usuarios malintencionados. Se recomienda utilizar las variables $_SERVER['SCRIPT_NAME'] o $_SERVER['SCRIPT_FILENAME'] en lugar de $_SERVER['PHP_SELF'].

27. ¿Cuáles son las herramientas de penetración que utiliza habitualmente y cuál es la más utilizada?

1 、 Suite de eructos

2、mapa SQL

3、Nmapa

4、cali linux

5 、 Hidra

6. Navaja suiza

Las herramientas comúnmente utilizadas incluyen:

1 、 Suite de eructos

2、mapa SQL

3、Nmapa

4、cali linux

5 、 Hidra

6. Navaja suiza

28. Utilización de escritura ciega XSS en el servidor de intranet

La escritura XSS ciega significa que el atacante intenta explotar directamente las vulnerabilidades XSS conocidas sin realizar primero la detección de vulnerabilidades. En algunos casos, los atacantes pueden atacar servidores de intranet a través de XSS ciego.

Un atacante puede utilizar vulnerabilidades XSS para inyectar código malicioso, de modo que después de ejecutar el código en el navegador de la víctima, se envía una solicitud a un servidor controlado por el atacante para obtener información confidencial del servidor de la intranet. Este método de ataque generalmente requiere que el atacante prepare un servidor malicioso con anticipación para recibir las solicitudes enviadas al servidor y obtener información confidencial.

29. Ataques con arpones y ataques en charcos.

1. El ataque con arpón se refiere a un método de ataque en el que los piratas informáticos engañan a objetivos específicos pretendiendo ser una fuente confiable para obtener información confidencial o realizar otras actividades maliciosas. Este tipo de ataque generalmente se lleva a cabo a través de métodos de comunicación como el correo electrónico o las redes sociales. Los piratas informáticos se dirigen a una persona u organización específica y guían a la víctima para que haga clic en un enlace o descargue un archivo adjunto forjando confianza, permitiendo así que la víctima filtre información confidencial. información o instalar malware.

2. Se refiere a un método de ataque en el que los piratas informáticos atacan sitios web visitados con frecuencia por las víctimas para obtener información confidencial o realizar otras actividades maliciosas. Este tipo de ataque generalmente ataca el sitio web de destino, lo que hace que los usuarios que visitan el sitio web sean infectados o redirigidos a sitios web maliciosos, lo que permite a los piratas informáticos obtener información confidencial del usuario o controlar la computadora del usuario.

Brevemente: un ataque con lanza es un ataque dirigido a un individuo u organización, mientras que un ataque de abrevadero es un ataque dirigido a una amplia gama de usuarios.

30. ¿Qué es el escape de la máquina virtual?

Esto se refiere a que un atacante aprovecha las vulnerabilidades del software de virtualización o de los sistemas operativos para obtener el control del host físico desde el entorno de la máquina virtual (VM). Un atacante puede utilizar ataques de escape de máquinas virtuales para eludir las medidas de seguridad, obtener acceso a todo el host físico y acceder a todos los datos confidenciales almacenados en él.

31. ¿Ataque de intermediario?

Se refiere a un método de ataque en el que el atacante roba los datos de comunicación entre las dos partes durante el proceso de comunicación e intenta alterar o reproducir los datos. Los atacantes suelen insertar un nodo intermedio malicioso entre el usuario y el servidor, que se hará pasar por un nodo de comunicación normal, haciendo que ambas partes piensen que se están comunicando directamente con la otra parte.

32. ¿Proceso de protocolo de enlace de tres vías TCP?

1. El cliente envía un paquete de solicitud de conexión (SYN) al servidor, que contiene el número de secuencia de inicialización (ISN) del cliente.

2. Después de que el servidor recibe la solicitud, responde con un paquete SYN con un número de secuencia de confirmación (ACK), que contiene el número de secuencia de inicialización (ISN) del servidor.

3. El cliente envía nuevamente un paquete con un número de secuencia de reconocimiento (ACK) para garantizar que se haya establecido la conexión.

33. ¿Modelo de siete capas?

Capa física --> Capa de parámetros de datos --> Capa de enlace de datos --> Capa de red --> Capa de transporte --> Capa de presentación --> Capa de aplicación

34. Comprensión de la seguridad en la nube

La seguridad en la nube se refiere a proteger la seguridad de la nube y de los recursos relacionados con ella en un entorno de computación en la nube. La seguridad en la nube incluye proteger la seguridad de la infraestructura de computación en la nube, la relación de seguridad entre los proveedores de servicios en la nube y los usuarios de la nube, y la seguridad de los datos almacenados y procesados ​​en la nube.

La seguridad en la nube requiere una serie de medidas para garantizar la seguridad del entorno de computación en la nube, que incluyen, entre otras:

1. Autenticación y control de acceso: asegúrese de que solo los usuarios autorizados puedan acceder a los servicios y datos almacenados en la nube.

2. Protección de datos: utilice cifrado de datos, copias de seguridad, recuperación ante desastres y otras medidas para proteger la seguridad de los datos almacenados en la nube.

3. Seguridad de la red: garantice la confiabilidad y seguridad de la red y evite ataques a la red.

4. Cumplimiento: garantice el cumplimiento de los servicios en la nube y cumpla con las leyes, regulaciones y requisitos estándar pertinentes.

5. Monitoreo de seguridad y auditoría de registros: descubra y responda a eventos y amenazas de seguridad monitoreando y auditando operaciones y actividades en la nube.

35. ¿Alguna vez has aprendido sobre websocket?

Comprendido

WebSocket es un protocolo de red para comunicación full-duplex a través de una única conexión TCP. Facilita la transferencia de datos en tiempo real entre el navegador y el servidor. A diferencia del protocolo de solicitud-respuesta HTTP, la conexión WebSocket permanece abierta, lo que permite la comunicación bidireccional, por lo que los datos se pueden actualizar en tiempo real a través de la conexión WebSocket sin la necesidad de solicitudes HTTP constantes para obtener actualizaciones.

El establecimiento de una conexión WebSocket requiere un proceso de protocolo de enlace, durante el cual el cliente y el servidor intercambian información para establecer la conexión. Una vez establecida una conexión exitosa, el cliente y el servidor pueden enviarse mensajes entre sí, que pueden estar en formatos como texto, datos binarios o JSON. En el lado del servidor, la API WebSocket se utiliza normalmente para manejar los mensajes recibidos y responder a las solicitudes de los clientes.

Debido a que el protocolo WebSocket se ejecuta en una única conexión TCP, se puede reducir la latencia de la red y el consumo de ancho de banda. También permite que el servidor envíe datos al cliente, lo que resulta útil para actualizaciones de datos en tiempo real y mensajería instantánea.

A menudo se utiliza en el desarrollo web.

36. ¿Qué es DDOS?, ¿qué son?, ¿qué son los ataques CC?, ¿cuáles son las diferencias?

1. DDOS es un tipo de ataque de red: el atacante controla varias computadoras o dispositivos e inicia una gran cantidad de solicitudes al servidor o red de destino, lo que le impide procesar el tráfico de red legítimo con normalidad, lo que provoca la indisponibilidad del servicio. El objetivo del atacante suele ser impedir que el sistema objetivo proporcione servicios normales, provocando así pérdidas económicas o afectando su reputación.

2. Los métodos de ataque DDOS comunes incluyen:

SYN Flood: aprovecha las vulnerabilidades en el protocolo de enlace de tres vías TCP, envía una gran cantidad de solicitudes SYN y agota los recursos del servidor.

Inundación de ICMP: utilice el comando ping para enviar una gran cantidad de solicitudes ICMP al servidor de destino, agotando los recursos del servidor.

UDP Flood: utiliza las características del protocolo UDP para enviar una gran cantidad de paquetes de datos UDP, ocupando el ancho de banda del servidor y los recursos de la CPU.

3. El ataque CC (HTTP Flood) es un método de ataque DDOS especial, que se dirige principalmente a servidores web. Los atacantes falsifican solicitudes HTTP, envían una gran cantidad de solicitudes al servidor web y simulan el acceso de los usuarios, sobrecargando así el servidor e impidiendo que procese el tráfico de red legítimo.

4. Diferencia:
Diferentes objetos de ataque: DDoS es un ataque a IP. Los ataques CC tienen como objetivo páginas web.
El daño es diferente: los ataques DDoS son más dañinos y más difíciles de defender. El daño de los ataques CC no es devastador, pero dura mucho tiempo.
Diferentes umbrales: el umbral para los ataques DDoS es alto. Los atacantes generalmente necesitan recopilar información como la cantidad de hosts objetivo atacados, sus direcciones y el rendimiento de la configuración de los hosts objetivo antes de atacar. Los ataques ciegos pueden conducir a malos resultados. El umbral de ataque CC es bajo y el ataque se puede llevar a cabo utilizando la herramienta de proxy IP. El objetivo es relativamente claro y los usuarios con habilidades de hacker relativamente bajas también pueden llevar a cabo el ataque.
Diferentes tamaños de tráfico: los ataques DDoS requieren mayor tráfico que los ataques CC y, a veces, los ataques CC no requieren mucho tráfico.

37. ¿Qué es un ataque terrestre?

1. Si menciona "ataque terrestre" en el campo de la seguridad informática, entonces se refiere a una tecnología de ataque temprano de denegación de servicio (ataque DoS). El atacante envía paquetes de datos IP especialmente diseñados a la computadora de destino, en los que la IP de origen La dirección y la dirección IP de destino se configuran en la dirección IP de la computadora de destino. Este ataque hará que la computadora objetivo caiga en un bucle infinito y eventualmente no pueda responder a otras solicitudes de red. Este ataque ahora es poco común porque los sistemas operativos modernos han solucionado la vulnerabilidad.

2. Si menciona "ataque terrestre" en el campo de los juegos en línea, entonces se refiere a un método de ataque que explota las vulnerabilidades del motor del juego. Los atacantes pueden utilizar estas vulnerabilidades para provocar que el cliente del juego del jugador objetivo se bloquee o se congele. Este ataque también puede considerarse un ataque DoS.

38. ¿Cómo recopilará información?

Recopilar nombres de dominio de segundo nivel, recopilación de información confidencial de IP, huellas dactilares, identificación WAF, identificación CDN y párrafo C marginal

39. ¿Qué es un ataque de inyección CRLF?

Un ataque de inyección CRLF es una vulnerabilidad de una aplicación web que permite a un atacante inyectar encabezados de respuesta HTTP maliciosos en los encabezados HTTP. Un atacante puede utilizar un ataque de inyección CRLF para manipular las respuestas HTTP y obtener acceso al servidor, o un atacante puede eludir los controles de seguridad para obtener acceso no autorizado a información confidencial.

40. Para prevenir XSS, piense desde dos perspectivas: ¿front-end y back-end?

Interfaz:

1) Utilice el protocolo HTTPS para proteger los datos del usuario y transmitir datos.

2) Utilice caracteres de escape para filtrar los caracteres especiales ingresados ​​por los usuarios para evitar que los atacantes inyecten código JavaScript malicioso.

3) Los usuarios tienen prohibido cargar archivos ejecutables, como .exe, .vbs, etc.

4) Utilice encabezados HTTP para limitar la carga del contenido de la página web y evitar ataques XSS.

extremo posterior:

1) Utilice la verificación de parámetros para verificar si los datos ingresados ​​​​por el usuario cumplen con los requisitos, si no cumplen con los requisitos se deniega el acceso.

2) Utilice declaraciones preparadas para ejecutar consultas SQL para evitar ataques de inyección SQL.

3) Utilice algoritmos de cifrado seguros para cifrar los datos y evitar la fuga de datos.

4) Utilice encabezados HTTP seguros para limitar la carga del contenido de la página web y evitar ataques XSS.

41. ¿Cómo proteger la seguridad de un puerto?

1. Utilice un firewall: un firewall puede proteger la seguridad del puerto al bloquear el ingreso de tráfico de red no autorizado a la red.

2. Instale software de seguridad: la instalación de software de seguridad puede detectar y bloquear la intrusión de malware y virus, protegiendo así la seguridad del puerto.

3. Implementar políticas de seguridad: la implementación de políticas de seguridad puede restringir el acceso de los usuarios a puertos específicos, protegiendo así la seguridad del puerto.

4. Actualice periódicamente el sistema operativo: Actualizar periódicamente el sistema operativo puede corregir vulnerabilidades y así proteger la seguridad del puerto.

5. Transmisión de datos cifrada: la transmisión de datos se puede proteger mediante tecnología de cifrado para proteger la seguridad del puerto.

42. ¿Ideas para la detección de Webshell?

1. Verifique el nombre del archivo: verifique si el nombre del archivo está relacionado con webshell; de ser así, puede ser webshell.

2. Verifique el contenido del archivo: verifique si el contenido del archivo contiene características de webshell, si es así, puede ser un webshell.

3. Verifique los permisos del archivo: verifique si los permisos del archivo se han cambiado; de ser así, puede ser el webshell.

4. Verifique la hora del archivo: Verifique la hora de creación y modificación del archivo, si hay una anomalía, puede ser el webshell.

5. Verifique el tamaño del archivo: Verifique el tamaño del archivo. Si el tamaño del archivo es anormal, puede ser el webshell.

43. ¿Qué es GPC?¿Cómo omitirlo si está habilitado?

GPC es la abreviatura de GET, POST y COOKIE, que se utiliza para describir los tres tipos de datos que los usuarios pueden enviar al enviar una URL. Si desea evitar GPC, puede utilizar la reescritura de URL, pseudoestática, XMLHttpRequest y otras tecnologías.

La reescritura de URL puede colocar parámetros de URL en la ruta de la URL, pero no se mostrarán en la URL, evitando así el filtrado de GPC.

Pseudoestático puede reorganizar una URL normal para que parezca más atractiva u ocultar los parámetros de la URL para evitar el filtrado GPC.

XMLHttpRequest puede enviar solicitudes POST en segundo plano sin enviar ningún parámetro de URL, evitando así ser filtrado por GPC.

44. ¿Cuáles son los algoritmos de cifrado que se utilizan habitualmente en la web?

1. MD5: algoritmo de resumen de mensajes 5, algoritmo de resumen de información, que se utiliza a menudo para la verificación de archivos.

2. SHA: Secure Hash Algorithm, un algoritmo hash seguro, comúnmente utilizado en escenarios de autenticación de seguridad, como firmas digitales.

3. HMAC: Código de autenticación de mensaje hash, código de autenticación de mensaje hash, que se utiliza a menudo para verificar la integridad del mensaje.

4. AES: Estándar de cifrado avanzado, estándar de cifrado avanzado, que se utiliza a menudo para el cifrado de datos.

5. RSA: Rivest-Shamir-Adleman, comúnmente utilizado para firmas digitales y cifrado.

6. DES: Estándar de cifrado de datos, estándar de cifrado de datos, comúnmente utilizado para cifrado y descifrado.

7. 3DES: Triple DES, algoritmo de cifrado de datos triple, es una versión mejorada de DES.

8. Blowfish: un algoritmo de cifrado simétrico que se puede utilizar para cifrar grandes cantidades de datos.

9. Twofish: un algoritmo de cifrado simétrico que se puede utilizar para cifrar grandes cantidades de datos.

10. RC4: un algoritmo de cifrado de flujo que se puede utilizar para cifrar grandes cantidades de datos.

11. PBKDF2: Función 2 de derivación de clave basada en contraseña, función 2 de derivación de clave basada en contraseña, que se utiliza a menudo para cifrar contraseñas.

12. Bcrypt: una función hash de contraseña que se puede utilizar para cifrar contraseñas.

13. SCrypt: una función hash de contraseña que se puede utilizar para cifrar contraseñas.

14. Argon2: una función hash de contraseña que se puede utilizar para cifrar contraseñas.

45. ¿Qué más puede hacer XSS además de obtener cookies?

Otras cosas para las que se puede utilizar XSS son:

1. Secuestro de sesiones de usuario: a través de ataques XSS, los atacantes pueden acceder a la sesión de usuario de la víctima para obtener las credenciales de inicio de sesión del usuario u otra información confidencial.

2. Modificar el contenido de la página web: Los ataques XSS se pueden utilizar para modificar el contenido de la página web para engañar a la víctima.

3. Destruir la estructura del sitio web: los ataques XSS se pueden utilizar para destruir la estructura del sitio web, afectando así el funcionamiento normal del sitio web.

4. Obtener datos del usuario: los ataques XSS se pueden utilizar para obtener información confidencial de los usuarios, como información personal, información financiera, etc.

5. Ejecutar scripts maliciosos: los ataques XSS se pueden utilizar para ejecutar scripts maliciosos para atacar sitios web o realizar otras actividades maliciosas.

6. Difundir gusanos: los ataques XSS se pueden utilizar para propagar gusanos, propagando así programas maliciosos en la red de la víctima.

7. Secuestro de navegadores: los ataques XSS se pueden utilizar para secuestrar navegadores y controlar los hábitos de navegación de los usuarios.

8. Anuncios emergentes maliciosos: los ataques XSS se pueden utilizar para mostrar anuncios maliciosos, afectando así el uso normal de los usuarios.

9. Inyectar código malicioso: los ataques XSS se pueden utilizar para inyectar código malicioso, afectando así el funcionamiento normal del sitio web.

10. Manipular los resultados de la búsqueda: los ataques XSS se pueden utilizar para manipular los resultados de la búsqueda y permitir que las víctimas accedan al sitio web al que el atacante pretendía acceder.

11. Difusión de troyanos: los ataques XSS se pueden utilizar para difundir troyanos para atacar sitios web o robar información del usuario.

12. Secuestro de un sitio web: los ataques XSS se pueden utilizar para secuestrar un sitio web y así controlar su contenido y funcionalidad.

46. ​​​​Secuestro de red por parte de un operador (u otro)

1. Cuando se produce un secuestro de red, el operador (u otro secuestrador) intercepta la solicitud y envía una respuesta. Los secuestradores pueden insertar contenido malicioso, colocar anuncios y modificar contenido mediante la inyección de scripts. Los secuestradores pueden interceptar contenido específico, así como las solicitudes HTTP de los usuarios, controlando así la experiencia de navegación del usuario.

2. El secuestro de red puede causar problemas de seguridad y privacidad porque los secuestradores pueden recopilar información confidencial de los usuarios, como credenciales de usuario e información de inicio de sesión. También puede resultar en una reducción del tráfico de la red y las páginas web pueden volverse muy lentas debido a los anuncios y los scripts inyectados.

3. Para evitar el secuestro de la red, puede utilizar protocolos SSL/TLS para proteger las comunicaciones, verificar sitios web antes de enviar datos confidenciales y utilizar una VPN confiable para cifrar las comunicaciones. Además, debe actualizar periódicamente el sistema operativo y el navegador de su dispositivo, y descargar únicamente software o aplicaciones de fuentes confiables.

4. Para seguir evitando el secuestro de la red, se deben desactivar algunas funciones peligrosas de la red, como las actualizaciones dinámicas del servidor de nombres de dominio (DNS), la redirección de DNS y las funciones de acceso remoto. Además, se debe configurar un software de seguridad para ayudar a detectar posibles actividades de secuestro de red. Finalmente, los operadores pueden configurar políticas de prueba en escala de grises para ayudar a detectar violaciones de actividad.

47. ¿Qué es la suplantación de DNS?

La suplantación de DNS es una técnica de ciberataque que altera las tablas DNS (Sistema de nombres de dominio) locales en Internet que buscan servidores web y otros recursos de Internet. Al cambiar los registros DNS en el servidor, un atacante puede redirigir el tráfico de Internet a un servidor controlado por el atacante, que puede usarse para robar datos, instalar malware o redefinir configuraciones de red no autorizadas.

48. Principios y defensas contra el desbordamiento del buffer

El desbordamiento del búfer es una vulnerabilidad de software en la que un atacante puede explotar una unidad de memoria que contiene datos para acceder transfronterizamente a otros espacios de memoria. El acceso a dicha memoria puede provocar que el sistema falle o ejecute código malicioso.

Para prevenir ataques de desbordamiento de búfer, se pueden tomar una variedad de medidas, incluido el uso de mecanismos de protección de pila (como protección de desbordamiento de pila, búferes con verificación de límites), el uso de tecnología de memoria aislada (ASLR) y el uso de tecnologías de inspección profunda (como código malicioso). inspección, control anti-compilación). Además, también se pueden utilizar tecnología de análisis dinámico (como el análisis en línea) y tecnología de auditoría de código para evitar desbordamientos del búfer.

49. Respuesta de emergencia a incidentes de seguridad de la red

La respuesta de emergencia a incidentes de seguridad cibernética significa que cuando ocurre un incidente de seguridad cibernética, las empresas deben organizar los departamentos relevantes para coordinar y tomar las medidas de respuesta correspondientes de manera oportuna de acuerdo con los requisitos del plan de respuesta de emergencia de seguridad cibernética o el plan de incidentes de seguridad cibernética.

incluye:

(1) Diseño del plan de emergencia: predecir y analizar incidentes de seguridad y formular planes de respuesta a emergencias de seguridad de la red y planes de manejo de incidentes de seguridad de la red para responder a los incidentes de seguridad de la red.

(2) Eliminación de fallas: organizar recursos para realizar análisis de fallas de seguridad, identificar la causa de la falla y eliminar la fuente de la falla.

(3) Procesamiento de incidentes: identificar, analizar y manejar incidentes de seguridad de la red y mejorar el proceso de procesamiento de seguimiento.

(4) Implementación de medidas de control: Desarrollar e implementar medidas de gestión efectivas para prevenir la recurrencia de incidentes de seguridad de la red.

(5) Alerta temprana de riesgos: establecer un sistema de alerta temprana de riesgos de seguridad de la red y mejorar estrictamente la gestión de la seguridad de la red para prevenir incidentes de seguridad de la red de manera oportuna.

(6) Eliminación de datos: recopile, procese y almacene todos los datos involucrados durante la eliminación para evitar la recurrencia de incidentes de seguridad.

(7) Pruebas de emergencia: analice el estado de seguridad de la red procesado e implemente pruebas de emergencia para garantizar la disponibilidad de la seguridad de la red después de la recuperación de la seguridad.

(8) Evaluación de emergencias: resumir el manejo de incidentes de seguridad, evaluar la efectividad del manejo de emergencias y tomar medidas de mejora efectivas para reducir la probabilidad de incidentes de seguridad.

(9) Capacitación en concientización sobre la seguridad: llevar a cabo capacitación sobre concientización sobre la seguridad de la red para los empleados para mejorar su concientización sobre la seguridad de la red y familiarizarlos con la tecnología de seguridad de la red, la tecnología de evaluación de riesgos de seguridad y la tecnología de procesamiento de información sobre amenazas a la seguridad de la red para prevenir incidentes de seguridad de la red.

(10) Revisión y auditoría: revisar y auditar periódicamente los incidentes de seguridad de la red y las actividades de respuesta a emergencias, y establecer un mecanismo de respuesta a emergencias de seguridad a largo plazo.

50. Seguridad interna de la empresa.

La gestión de la seguridad interna de una empresa se refiere a la gestión del estado de seguridad interna de la empresa por parte de la organización de gestión interna de la empresa, incluidos los sistemas de gestión de la seguridad, las medidas de gestión de la seguridad, las organizaciones de gestión de la seguridad y el personal de gestión de la seguridad.

1. Desarrollar un sistema de gestión de seguridad: las empresas deben formular un sistema de gestión de seguridad para aclarar las responsabilidades, autoridades y procedimientos de gestión de seguridad para garantizar la implementación efectiva de la gestión de seguridad.

2. Implementar medidas de gestión de seguridad: las empresas deben adoptar medidas efectivas de gestión de seguridad de acuerdo con el sistema de gestión de seguridad para garantizar la estabilidad de la situación de seguridad interna de la empresa.

3. Establecer una organización de gestión de la seguridad: las empresas deben establecer una organización de gestión de la seguridad que sea responsable de la gestión de la seguridad y garantice la implementación efectiva de la gestión de la seguridad.

4. Capacitación del personal de gestión de la seguridad: las empresas deben capacitar periódicamente al personal de gestión de la seguridad para dotarlo de conocimientos y habilidades de gestión de la seguridad para garantizar la implementación efectiva de la gestión de la seguridad.

continuar

5. Verificar periódicamente el estado de seguridad: las empresas deben verificar periódicamente el estado de seguridad interna de la empresa, descubrir rápidamente los peligros de seguridad y tomar medidas efectivas para garantizar la estabilidad del estado de seguridad interna de la empresa.

6. Manejar los incidentes de seguridad de manera oportuna: las empresas deben manejar los incidentes de seguridad de manera oportuna, analizar las causas de los accidentes y tomar medidas efectivas para evitar que ocurran incidentes de seguridad.

7. Evaluar periódicamente la gestión de la seguridad: las empresas deben evaluar periódicamente la eficacia de la gestión de la seguridad, descubrir rápidamente problemas en la gestión de la seguridad y tomar medidas efectivas para garantizar la implementación efectiva de la gestión de la seguridad.

8. Actualizar periódicamente el sistema de gestión de seguridad: las empresas deben actualizar periódicamente el sistema de gestión de seguridad para adaptarlo a la situación real de la empresa para garantizar la implementación efectiva de la gestión de seguridad.

9. Realizar periódicamente publicidad sobre seguridad: las empresas deben realizar periódicamente publicidad sobre seguridad para permitir que los empleados comprendan plenamente la importancia de la gestión de la seguridad y garanticen la implementación efectiva de la gestión de la seguridad.

10. Establecer archivos de seguridad: las empresas deben establecer archivos de seguridad para registrar información relevante sobre la gestión de la seguridad para facilitar la implementación efectiva de la gestión de la seguridad.

51. ¿Cómo probar el negocio antes de conectarse y desde qué ángulos?

Primero, necesita saber si su sitio web funciona correctamente. Si su sitio web muestra un "mensaje de error", compruébelo. Si su sitio web funciona correctamente, puede probar qué tan bien funciona probando la funcionalidad de su sitio web. Por ejemplo, puede probar la velocidad de carga y la visualización de la página de su sitio web.

En segundo lugar, necesita saber si el contenido de su sitio web es correcto. Si hay un problema con el contenido de su sitio web, puede probar su eficacia probando el formato del contenido y la estructura de los datos de su sitio web. Por ejemplo, puede probar el formato del contenido de su sitio web y la estructura de sus datos.

Finalmente, necesita saber si su sitio web tiene los enlaces correctos. Si tiene problemas con los enlaces de su sitio web, puede probar su eficacia probando la estructura y funcionalidad de los enlaces de su sitio web. Por ejemplo, puede probar la estructura y funcionalidad de los enlaces de su sitio web.

52. La aplicación tiene vulnerabilidades pero no se puede reparar ni desactivar ¿Qué debes hacer?

1. Notifique al desarrollador de la aplicación lo antes posible para que pueda solucionar la vulnerabilidad lo antes posible.

2. Minimizar el uso de aplicaciones para reducir el impacto de las vulnerabilidades.

3. Limite los permisos de uso de las aplicaciones al mínimo para reducir el impacto de las vulnerabilidades.

4. Verificar periódicamente la seguridad de las aplicaciones, descubrir vulnerabilidades de manera oportuna y tomar medidas efectivas.

5. Limite el uso de aplicaciones a entornos confiables para reducir el impacto de las vulnerabilidades.

53. ¿Cómo protegerse contra CSRF?

1. Establecer un identificador de sesión único (similar a un token) cada vez que el usuario inicia sesión;

2. Adjunte este identificador de sesión al formulario antes de enviarlo;

3. Después de aceptar el envío del formulario, utilice el identificador de sesión para compararlo con el valor previamente almacenado en el servidor;

4. Después de una verificación exitosa, este identificador se eliminará o se regenerará uno nuevo;

5. Si la verificación falla, la solicitud será rechazada, el usuario será redirigido nuevamente a la página de inicio de sesión o se le dará una advertencia.

54. ¿Cómo evitar la carga de archivos?

1. Omisión de extensión de archivo: cambie el sufijo del archivo a una extensión de archivo común, como .js, .jpg, .exe, etc.;

2. Modifique la extensión del archivo según la información del encabezado del archivo: algunos archivos de imagen, como png, gif, jpg, etc., tienen sus propios encabezados de archivo y sus encabezados de archivo se pueden modificar al principio del archivo;

3. Cargue usando codificación base64: codifique el archivo que se cargará con Base64 y luego cárguelo en combinación con XMLHttpRequest;

4. Carga de archivos de cadena: conviértalo en una cadena de acuerdo con el formato del archivo y luego use eval y otras funciones para obtener el valor;

5. Información "multiparte/datos de formulario": generalmente, las aplicaciones web usan este formato para cargar archivos y usan segmentación multinivel para pasar una cadena de campos de archivo $_FILES;

6. Utilice la base de datos para almacenar archivos: puede tratar los archivos como datos binarios, almacenarlos en la base de datos y luego obtener la ruta para descargarlos;

7. Tipos de archivos faltantes: intente cargar varios tipos de archivos para evitar las restricciones con tipos de archivos ilegales, como JSP, etc.;

8. Reflexión exe: la carga de reflexión exe consiste en compilar código no administrado (como C ++) en un módulo ejecutable y cargarlo desde el programa ejecutable en el dominio de la aplicación actual.

55. Puntos de utilización relacionados con el código de verificación

1. **Omisión de la función de registro:**  

Puede utilizar herramientas para enviar solicitudes HTTP al formulario que contiene el código de verificación en la página especificada, descifrar el código de verificación y, en última instancia, lograr un registro exitoso. Sin embargo, el teléfono móvil no puede recibir la información de verificación por SMS, evitando así operaciones como la del teléfono móvil. vinculante.

2. **Acceso a funciones restringidas:**  

Los códigos de verificación se pueden utilizar para acceder indebidamente a funciones restringidas. Cuando las funciones han sido diseñadas, sólo usuarios específicos pueden acceder a ellas. Sin embargo, si se utilizan medios como el cracking, se puede lograr un acceso ilegal.

3. **Envío del formulario de recepción:**  

Cuando se envía el formulario de front-end, el código de verificación se utiliza para descifrar el envío correcto del sistema, de modo que siempre que se descifre el código de verificación correcto, el formulario se pueda enviar sin restricciones, lo que en última instancia provocará una carga anormal del sistema. en el fondo.

4. **Recibe regalos:**  

Descifrando el código de verificación se pueden obtener una gran cantidad de obsequios, incluso algunos obsequios especiales con un valor determinado, logrando así el beneficio del atacante.

Métodos de defensa del código de verificación

1. **Verificación precisa:**  

Al comparar el código de verificación con el código de verificación ingresado por el usuario, es preciso comparar espacios y signos de puntuación, lo que reduce la posibilidad de que se descifre el código de verificación.

2. **Usar código de verificación de imagen:**  

Debido a que el código de verificación de imágenes utiliza imágenes reales, aumenta la dificultad de la verificación, por lo que puede prevenir mejor los ataques de robots y la posibilidad de ser descifrado por scripts.

3. **Ajuste dinámico del código de verificación:**  

Ajuste dinámicamente la forma del código de verificación para que el código de verificación se muestre de manera diferente cada vez, lo que no solo engaña a la máquina, sino que también reduce la posibilidad de descifrado por fuerza bruta.

4. **Actualice oportunamente y actualice la estrategia del código de verificación:**  

Con el desarrollo continuo de la tecnología, lo que es eficaz para descifrar códigos de verificación también cambia constantemente, por lo que se recomienda actualizar los códigos de verificación a tiempo y utilizar códigos de verificación más largos y complejos para dificultar el algoritmo de descifrado. como sea posible Grieta.

56. ¿Qué contenido probarás en busca de cookies?

1. Compruebe si el valor de la cookie es el esperado.

2. Pruebe si la cookie se elimina correctamente según el período de validez establecido.

3. Verifique las cookies para detectar vulnerabilidades de seguridad.

4. Pruebe si la cookie se almacena en el lado del cliente de forma segura.

5. Compruebe si el valor de la cookie se rastrea en todos los sitios. Este tipo de cookie se utiliza con fines ilegales.

6. Pruebe la compatibilidad de las cookies en diferentes navegadores.

7. Compruebe si el valor de la cookie está codificado para evitar que los atacantes obtengan datos válidos.

8. Verifique si la ruta uri está configurada correctamente para garantizar que la cookie se envíe correctamente.

9. Compruebe si la configuración de preferencias de cookies es estricta para garantizar la seguridad.

10. Verificar que todos los datos enviados a las cookies estén codificados, comprimidos o encriptados para evitar el acceso de terceros no autorizados.

57. ¿Nombre varios tipos de vulnerabilidades de la lógica empresarial?

1. Vulnerabilidad de control de permisos: los atacantes utilizan vulnerabilidades para eludir las restricciones de acceso al sistema y obtener acceso no autorizado con altos privilegios.

2. Vulnerabilidad de ataque funcional: el atacante altera maliciosamente la estructura de archivos o la información del sistema para lograr el efecto deseado de las operaciones auxiliares.

3. Vulnerabilidad de anulación de privilegios: un atacante aprovecha la vulnerabilidad para obtener acceso a recursos protegidos del sistema con acceso no autorizado.

4. Vulnerabilidades de control de datos: los atacantes pueden utilizar vulnerabilidades para alterar algunos datos e información protegidos en el sistema y cambiar sus usos originales.

5. Vulnerabilidad de virtualización: un atacante puede obtener recursos de máquinas virtuales protegidas o acceder a datos en una máquina virtual dedicada controlada.

6. Vulnerabilidad de escalada de privilegios: el atacante inicia sesión como usuario general y obtiene la máxima autoridad del sistema a través de la vulnerabilidad.

7. Vulnerabilidades de la base de datos: los atacantes también pueden acceder a la información de la base de datos protegida del sistema mediante inyección, craqueo por fuerza bruta de la base de datos y otros medios.

8. Ataque de firma de cobertura: el atacante manipula los datos de la comunicación entre las dos partes y falsifica la señal de respuesta para hacerse pasar por la otra parte.

9. Vulnerabilidad de desbordamiento del búfer: un atacante utiliza el desbordamiento del contenido del búfer para obtener datos protegidos en la memoria del sistema.

10. Vulnerabilidad de fijación de sesión: los atacantes utilizan tecnología de fijación de sesión para obtener la información de identidad de otros usuarios.

58. El archivo de descripción breve contiene vulnerabilidades.

Una vulnerabilidad de inclusión de archivos es una vulnerabilidad de seguridad que provoca que se acceda ilegalmente a archivos en el servidor. Esta vulnerabilidad generalmente es causada por una implementación incorrecta de la programación web, lo que permite a los atacantes leer datos en el servidor desde archivos externos. En aplicaciones web, como formularios y parámetros de URL, los desarrolladores a menudo permiten el envío de información con valores específicos, incluida la ruta y el nombre de un archivo, para que la aplicación web pueda cargar el archivo correspondiente. Si un atacante puede controlar el nombre de archivo proporcionado, puede obtener archivos que contengan información confidencial del servidor.

59. ¿Cuáles son algunos ejemplos de vulnerabilidades de lógica empresarial y restablecimientos arbitrarios de contraseñas por parte de los usuarios, y qué factores los causaron?

Un ejemplo típico de vulnerabilidad de restablecimiento arbitrario de contraseña de un usuario es que el usuario no completa una dirección de correo electrónico segura ni establece una pregunta de seguridad al registrarse, pero aún así puede restablecer la contraseña a voluntad. Este tipo de vulnerabilidad generalmente es causada por la falta de un mecanismo completo de verificación de seguridad en algunos sistemas de aplicaciones y medidas de protección de seguridad insuficientes para evitar que usuarios no autenticados restablezcan sus contraseñas desde el exterior, lo que conduce a la aparición de esta vulnerabilidad de seguridad.

60. Durante la prueba de penetración encontré una función que solo puede cargar archivos zip, ¿qué posibles ideas hay?

1. Intente evitar las restricciones de extensión y cargue otros tipos de archivos, como archivos asp/PHP/exe, para intentar acceder a archivos o ejecutar programas;

2. Comprima el archivo php malicioso en formato zip y luego cárguelo;

3. Intente cambiar la estructura del archivo zip y descifre los archivos internos;

4. Difundir programas maliciosos a otros usuarios o sistemas mediante la inyección de troyanos en archivos zip;

5. Intente descifrar el archivo zip protegido por la contraseña descomprimida, incorporando la segunda capa de puerta trasera en un lugar invisible;

6. Intente obtener información y código malicioso oculto extrayendo información de archivos zip;

7. Después de intentar cargar el archivo zip, aún se mantiene la forma completa original del paquete comprimido;

8. Intente descubrir que la información del archivo en el zip no se procesa y se produce una vulnerabilidad;

9. Intente extraer código adicional con efectos secundarios del zip;

10. Verifique el tamaño de los archivos cargados e intente comprimir los archivos que sean demasiado grandes antes de cargarlos;

11. Intente combinar las características del archivo comprimido para llevar a cabo un ataque DoS (denegación de servicio) en el sistema de destino;

12. Realizar ingeniería inversa en el archivo zip y encontrar información que pueda usarse en la secuencia de caracteres;

13. Intente un ataque de caja mágica en el que se carga un archivo zip y luego se manipula cuando se descarga, lo que provoca ";

61. ¿Por qué el troyano aspx tiene mayores permisos que asp?

Porque los permisos de las páginas ASP solo tienen permisos ejecutables simples, mientras que las páginas ASPX tienen permisos similares a los de un sistema de archivos completo, lo que permite a los atacantes lograr más funciones, como acceder a archivos del sistema, ver bases de datos remotas, agregar nuevos usuarios, etc.

62. ¿Cuáles son las ideas para tener una sola página de inicio de sesión?

1. Detectar vulnerabilidades del lado del cliente y del servidor en la página, como XSS, inyección SQL, etc.

2. Enumere los nombres de usuario de los administradores y pruebe con contraseñas comunes.

3. Pruebe la información en el encabezado HTTP, como permitir secuencias de comandos entre sitios (XSS) en el encabezado HTTP para evitar el almacenamiento en caché de información, etc.

4. Intente descifrar la contraseña por fuerza bruta y siga intentando iniciar sesión hasta que obtenga el nombre de usuario y la contraseña correctos.

5. Intente inyectar una carga útil en el formulario de inicio de sesión para evitar el proceso de autenticación.

6. Verifique y pruebe todas las API disponibles para determinar si existe alguna vulnerabilidad.

7. Compruebe si el certificado SSL/TLS de la página de inicio de sesión es válido.

8. Intente acceder a carpetas específicas en la página de inicio de sesión para ver si hay algún problema de permisos explotable.

9. Compruebe si el nombre de usuario y la contraseña están almacenados en texto sin cifrar.

10. Intente permitir que el navegador inyecte carga útil en el formulario de inicio de sesión borrando cookies, modificando cookies y solicitando información del encabezado, etc.

63. ¿Qué encabezados de solicitud son peligrosos?

Los encabezados HTTP maliciosos incluyen:

1. X-Forwarded-For: este encabezado indica la dirección IP del cliente en la solicitud HTTP. Algunos clientes ven este encabezado y lo envían al servidor web para debilitar la seguridad del cliente.

2. Cookies: las cookies son la única forma que tienen las aplicaciones web de identificar a los usuarios. Si un atacante puede alterar las cookies e introducir valores maliciosos en ellas, puede provocar un acceso no autorizado.

3. Agente de usuario: algunos atacantes pueden cambiar este encabezado para ocultar sus modelos de hardware y sistema operativo.

4. Referer: este encabezado rastrea de dónde viene el usuario. Los atacantes malintencionados pueden utilizar este encabezado para enviar a los usuarios enlaces a sitios web maliciosos.

64. ¿Hablar de la diferencia entre acceso horizontal/vertical/no autorizado?

El acceso horizontal no autorizado se produce cuando un usuario intenta acceder a otro usuario o recurso, pero no es de un nivel superior a él y por tanto no puede hacerlo. La anulación horizontal es muy importante para mantener la seguridad, donde los usuarios solo pueden acceder a su propio contenido y no al de otro usuario.

El acceso vertical no autorizado significa que un usuario puede obtener permisos de nivel superior después de haber sido autorizado, es decir, no se permite el acceso a permisos de nivel superior, pero sí se permite el acceso a permisos de nivel superior. Por ejemplo, un usuario que puede ver artículos en un sitio web pero puede agregarlos y modificarlos ha experimentado un acceso vertical no autorizado.

El acceso no autorizado se refiere a un usuario que intenta acceder a otro usuario o recurso no autorizado. Este es un comportamiento ilegal y el acceso será denegado inmediatamente una vez descubierto. Las anulaciones no autorizadas pueden comprometer la integridad del sistema o provocar la pérdida de datos privados, por lo que este es un problema muy grave.

65. ¿Qué es xss?Los peligros y principios de ejecutar xss almacenado

XSS (ataque de secuencias de comandos entre sitios) es un ataque de red común y una vulnerabilidad de front-end clásica, que puede atribuirse a la falta de filtrado de seguridad de los parámetros durante el procesamiento de comandos del lado del servidor. Hay muchos tipos de XSS. Los peligros de realizar ataques XSS almacenados son:

1. Ejecución completa que puede ser controlada por el atacante y que se puede lograr sin la interacción del usuario;

2. Almacenar código ejecutable en el servidor para obtener información del usuario mediante tecnología de secuencias de comandos;

3. Adjunte código malicioso a páginas normales y proporcione a los usuarios contenido de terceros no deseado, o muestre ventanas promocionales falsas.

El principio de ejecución de XSS almacenado es: el lado del servidor no filtra caracteres especiales al procesar parámetros e inyecta scripts maliciosos en el lado del servidor; cuando un usuario accede a una página con un script malicioso, el script se ejecuta automáticamente, lo que permite al atacante controlar la sesión del usuario para realizar más ataques.

66. Se sospecha que el host ha sido invadido, ¿dónde debo comprobar los registros?

Dónde buscar registros depende del sistema operativo específico. Por lo general, puede buscar varios archivos de registro en /var/log, como registros de seguridad del sistema operativo, archivos de registro de aplicaciones, etc. Además, también puede consultar los registros del firewall del sistema, incluidos los registros de denegación de acceso en el servidor y los registros de tráfico de la red.

67. Bibliotecas estándar de uso común en Python

1. Interfaz del sistema operativo: os, os.path, subproceso, Shutil;

2. Comodín de archivo: glob;

3. Procesamiento de cadenas: re, string, difflib, textwrap, unicodedata;

4. Codificación y procesamiento de datos: base64, códecs, csv, xml;

5. 数学: decimales, fracciones, matemáticas, aleatorias, estadísticas;

6. Fecha y hora: fechahora, hora;

7. Dividir y fusionar datos: colecciones, copiar, heapq, bisect;

8. Compresión y archivo de datos: zlib;

9. Cargador de archivos: fnmatch;

10. Control de flujo y semillas: itertools;

11. Hilos y procesos: subprocesos, multiprocesamiento;

12. Depurador: pdb;

13. Paquetes de software: pkgutil, modulefinder, zipimport;

14. Sistema y entorno: sys, advertencias, contextlib, plataforma, getopt, argparse;

15. Procesamiento de datos de Internet: urllib, urllib2, http, smtplib, poplib, imaplib, ftplib, telnetlib;

16. Otros: estructura, copyreg, shelve, débilref.

68. ¿Cuál es la diferencia entre TCP inverso y TCP vinculado?

Hay dos formas para que TCP establezca una conexión: TCP inverso y TCP vinculado.

TCP inverso es una conexión "inversa" entre el cliente y el servidor, en la que el cliente intentará conectarse al servidor y el servidor devolverá un acuse de recibo de la conexión. Este es el modelo de conexión de Protocolo de control de transmisión (TCP) más común, como la conexión HTTP entre el navegador del cliente y el servidor.

Bind TCP significa que el servidor espera la conexión del cliente. El servidor emite activamente una solicitud de "vinculación" y luego espera a que el cliente responda. Si el cliente responde, la conexión se establece con éxito. Este es el modelo utilizado cuando el cliente inicia sesión en el servidor FTP, es decir, el servidor escucha en un determinado puerto y espera a que el cliente acceda.

69. ¿Qué problemas pueden ocurrir durante el proceso de autenticación de OAuth y qué tipo de vulnerabilidades pueden resultar?

1. Las vulnerabilidades que pueden ocurrir durante el proceso de autenticación incluyen: información de autenticación incorrecta, información de autenticación insegura, devoluciones de llamadas de autenticación no confiables, uso indebido de la información de autenticación, etc.

2. Estos problemas pueden generar vulnerabilidades como que los atacantes roben tokens de acceso, inyecten solicitudes maliciosas, alteren datos de la red y roben información privada de los usuarios.

70. Cómo obtener la IP real de un sitio web que tiene CDN

1. Agregue la capacidad de obtener la IP real a través de X-Forwarded-For: si su servidor CDN puede configurar el encabezado X-Forwarded-For, podemos obtener la dirección IP real del cliente en el lado del servidor.

2. Utilice CDN API: algunos servicios CDN proporcionan una interfaz API y puede obtener directamente la dirección IP real del cliente a través de la interfaz API.

3. Obtenga la IP real a través del encabezado HTTP: si el servidor CDN agrega información del encabezado HTTP, puede obtener la dirección IP real del cliente obteniendo la información del encabezado HTTP.

4. Utilice la API abierta de Google: puede utilizar la API abierta de geolocalización de Google para obtener resultados utilizando la dirección IP del cliente y puede obtener fácilmente la dirección IP real del cliente.

5. Utilice una API de consulta de IP de terceros: puede utilizar una API de consulta de IP de terceros para obtener la dirección IP real del cliente.

6. Verifique directamente el paquete de solicitud HTTP: capture la dirección IP de origen de los datos de la solicitud HTTP en el lado del servidor para obtener la dirección IP real del cliente.

7. Utilice el método de identificación de direcciones IPv6: la detección de direcciones IPv6 puede identificar la dirección IP real del usuario final.

8. Obtenga la IP real a través de los registros del firewall: puede obtener la dirección IP real del cliente a través de los registros del firewall.

9. Obtenga la IP real a través de los registros del servidor: la dirección IP real del cliente también se puede identificar a través de los registros del servidor.

10. Utilice la API de NETGEAR ACE para obtener la IP real: puede utilizar la API de NETGEAR ACE para obtener la dirección IP real del cliente.

71. ¿Cómo lograr dominios cruzados?

Dominio cruzado significa que el navegador prohíbe cargar contenido de una fuente desde otra fuente. Estos contenidos pueden ser archivos estáticos como JavaScript y CSS, o pueden generarse dinámicamente a partir de datos en el servidor.

1. Utilice JSONP para lograr dominios cruzados:

    JSONP (JSON con relleno) es una tecnología que carga otro dominio en la página actual cuando solo se ve contenido html y permite la llamada de archivos de script entre dominios para lograr la transmisión de datos entre dominios.

2. Utilice CORS para lograr dominios cruzados:

    CORS (Cross-Origin Resource Sharing/Cross-Origin Resource Sharing) es una tecnología utilizada para implementar solicitudes de origen cruzado, que permite a los navegadores enviar y recibir solicitudes http de origen cruzado para la transmisión de datos entre dominios.

3. Utilice el proxy Nginx para lograr dominios cruzados:

    El uso del proxy Nginx es para solicitudes http iniciadas por ajax. Usando la capacidad de proxy inverso de Nginx, la solicitud iniciada por el cliente al servidor es reenviada por el servidor Nginx al servidor de origen. El valor de retorno obtenido por el cliente aún se obtiene mediante el servidor Nginx. Devuelto para lograr propósitos entre dominios.

72. ¿Cuál es la diferencia entre dominio cruzado jsonp y dominio cruzado CORS?

1. JSONP es un script que puede resolver problemas entre dominios y puede usarse en navegadores que no admiten CORS. CORS es un mecanismo que permite al navegador enviar un recurso en un nombre de dominio a otro nombre de dominio.

2. JSONP no es una solicitud Ajax en el sentido tradicional, pero CORS es una solicitud Ajax en el sentido tradicional.

3. El proceso entre dominios JSONP lo inicia el navegador, mientras que el proceso entre dominios CORS lo inicia el servidor.

4. JSONP tiene su propia etiqueta de script y función de devolución de llamada, mientras que CORS realiza operaciones entre dominios basadas en la información del encabezado HTTP.

5. JSONP solo admite solicitudes de obtención, mientras que CORS admite todo tipo de solicitudes HTTP.

73. Algoritmos ¿Sobre qué clasificación has aprendido?

Los algoritmos de clasificación generalmente se dividen en dos categorías: clasificación interna y clasificación externa.

Clasificación interna: clasificación por burbujas, clasificación por inserción, clasificación por selección, clasificación Hill, clasificación por combinación, clasificación rápida, clasificación en montón, etc.

Clasificación externa: clasificación externa (clasificación externa), clasificación de agregación de registros (clasificación de agregación de registros), clasificación de depósitos (clasificación de depósitos), clasificación de combinación de archivos (clasificación de combinación de archivos), etc.

Los algoritmos de clasificación que conozco son: clasificación de burbujas, clasificación de inserción, clasificación de selección, clasificación rápida, clasificación Hill, clasificación de fusión, clasificación de montón, clasificación de cubo, clasificación de agregación de registros y clasificación externa.

74. ¿Explotación de la vulnerabilidad de la SSRF?

La explotación de la vulnerabilidad SSRF es una técnica de ataque que aprovecha la vulnerabilidad de falsificación de solicitudes del lado del servidor para permitir a los atacantes construir solicitudes HTTP especiales para acceder a los recursos del servidor en la red interna. Los atacantes pueden aprovechar las vulnerabilidades de SSRF para obtener información confidencial en la red interna e incluso controlar servidores en la red interna.

75. ¿Métodos comunes de puerta trasera?

1. Programa de puerta trasera: un atacante puede instalar un programa de puerta trasera en el sistema para obtener acceso al sistema.

2. Cuenta de puerta trasera: un atacante puede crear una cuenta de puerta trasera para obtener acceso al sistema.

3. Servicio de puerta trasera: un atacante puede instalar un servicio de puerta trasera en el sistema para obtener acceso al sistema.

4. Puerto de puerta trasera: un atacante puede abrir un puerto de puerta trasera en el sistema para obtener acceso al sistema.

5. Archivo de puerta trasera: un atacante puede crear un archivo de puerta trasera en el sistema para obtener acceso al sistema.

6. Red de puerta trasera: un atacante puede crear una red de puerta trasera en un sistema para obtener acceso al sistema.

7. Script de puerta trasera: un atacante puede crear un script de puerta trasera en el sistema para obtener acceso al sistema.

8. Reemplazo del programa de puerta trasera: un atacante puede reemplazar un programa de puerta trasera en el sistema para obtener acceso al sistema.

76. ¿Cómo evitar las restricciones de acceso al directorio en open basedir?

1. Usar la ruta absoluta de open_basedir: un atacante puede usar la ruta absoluta de open_basedir para evitar las restricciones de open_basedir y acceder a otros directorios del sistema.

2. Usar la ruta relativa de open_basedir: un atacante puede usar la ruta relativa de open_basedir para evitar las restricciones de open_basedir y acceder a otros directorios del sistema.

3. Uso del recorrido de ruta de open_basedir: un atacante puede usar el recorrido de ruta de open_basedir para evitar las restricciones de open_basedir y acceder a otros directorios en el sistema.

4. Uso de la enumeración de rutas de open_basedir: un atacante puede usar la enumeración de rutas de open_basedir para evitar las restricciones de open_basedir y acceder a otros directorios del sistema.

5. Uso del reemplazo de ruta de open_basedir: un atacante puede usar el reemplazo de ruta de open_basedir para evitar las restricciones de open_basedir y acceder a otros directorios en el sistema.

77. ¿Cuáles son los problemas comunes en la auditoría de código PHP?

1. Consulta de base de datos: inyección SQL, ataque de secuencias de comandos entre sitios (XSS), inclusión remota de archivos (RFI), etc.

2. Carga de archivos: vulnerabilidades de carga de archivos, vulnerabilidades de inclusión de archivos, etc.

3. Control de permisos: acceso no autorizado, acceso no autorizado, etc.

4. Transmisión de datos: cifrado de datos, firma de datos, etc.

5. Seguridad de la red: ataques a la red, códigos maliciosos, etc.

6. Seguridad del sistema: vulnerabilidades del sistema, programas maliciosos, etc.

7. Otros: desbordamiento de búfer, ataques de recorrido de ruta, etc.

78. En el enfrentamiento rojo-azul, ¿el escenario y postura del equipo azul contraatacando al equipo rojo?

Pesca, Miel, Hormiga Espada RCE

79. Tareas programadas en Linux, ¿qué haría un hacker para ocultar sus tareas programadas?

1. Utilice el comando crontab -e para editar el archivo crontab y agregar la tarea programada al archivo, pero no utilice texto sin formato, sino un formato cifrado, como la codificación base64.

2. Coloque la tarea programada en una carpeta oculta y asígnele un nombre oculto para evitar que otros la descubran.

3. Utilice la función de archivo oculto de Linux para configurar el archivo de tareas programadas como un archivo oculto para evitar que otros lo descubran.

4. Utilice la función de permisos de archivos de Linux para configurar el archivo de tareas programadas en solo lectura para evitar que otros lo modifiquen.

5. Utilice la función de atributo de archivo de Linux para configurar el archivo de la tarea programada para que sea invisible y evitar que otros lo descubran.

6. Utilice la función de cifrado del sistema de archivos de Linux para cifrar los archivos de tareas programadas y evitar que otros los descifren.

7. Utilice la función de proceso oculto de Linux para configurar el proceso de la tarea programada para que esté oculto y evitar que otros lo descubran.

8. Utilice la función de puerto oculto de Linux para configurar el puerto de tareas programadas para que esté oculto y evitar que otros lo descubran.

9. Utilice la función de red oculta de Linux para configurar la red de tareas programadas para que esté oculta y evitar que otros la descubran.

10. Utilice la función del sistema de archivos oculto de Linux para configurar el sistema de archivos de tareas programadas para que esté oculto y evitar que otros lo descubran.

80. ¿Cuáles son las formas comunes de obtener shell sin autorización de Redis?

1. Aproveche la vulnerabilidad de acceso no autorizado de Redis para obtener control remoto escribiendo webshell;

2. Cargue el archivo webshell en el servidor Redis y luego lea el contenido del archivo en Redis;

3. Explotar la vulnerabilidad de acceso no autorizado de Redis para obtener control remoto ejecutando comandos arbitrarios en el servidor de Redis;

4. Aproveche la vulnerabilidad de acceso no autorizado de Redis, almacene el archivo troyano como una cadena en Redis y luego llame al troyano en Redis para obtener control remoto.       

5. Si Redis habilita la función de copia de seguridad en modo RDB, puede ocultar el archivo webshell en el archivo de copia de seguridad y luego leer el contenido del archivo en Redis;

6. Si Redis habilita la función de persistencia del modo AOF, puede escribir el archivo webshell como un comando de ejecución en el archivo AOF y luego leer el contenido del archivo en Redis;

7. Si Redis habilita la estructura maestro-esclavo, puede transferir el archivo webshell a la biblioteca esclava como datos y luego leer el contenido del archivo en Redis.

8. Si Redis permite que el cliente ejecute scripts, puede transferir el archivo webshell a Redis como un script y luego ejecutar el script en Redis para obtener control remoto.

9. Utilice la función de cola de mensajes de Redis para enviar el archivo webshell a Redis como un mensaje y luego lea el contenido del archivo en Redis.

10. Si Redis permite a los clientes usar el comando EVAL, puede enviar el archivo webshell a Redis como un script LUA y ejecutar el script para obtener control remoto.

81. ¿Métodos de ataque JWT? (Encabezado, carga útil, firma)

1. Utilice el ataque de sobrescritura de JWT: utilice otro JWT para sobrescribir el JWT anterior, de modo que la sesión permanezca en el JWT anterior y el servidor no pueda detectar este comportamiento de sobrescritura, creando así una vulnerabilidad factible para el atacante.

2. Explotación de los ataques de cifrado JWT: dado que JWT se guarda en texto sin cifrar, los atacantes pueden intentar descifrar el JWT, robar el token, decodificar y enviar solicitudes para acceder a recursos protegidos.

3. Utilice ataques de manipulación de JWT: altere la carga útil o la información del encabezado en el JWT, cambiando así el contenido o el alcance de la solicitud.

4. Utilice el ataque de actualización de carga útil JWT: el atacante actualiza sus permisos agregando cargas útiles adicionales al JWT, obteniendo así recursos a los que no está autorizado el acceso.

5. Explotación de ataques de firmas JWT: un atacante puede usar una firma maliciosa para hacer que un JWT sea confiable de manera no autorizada y usar el JWT modificado para acceder a recursos protegidos en la aplicación.

6. Intentar fuerza bruta: un atacante puede intentar adivinar y descifrar la clave del JWT varias veces para obtener el token de sesión.

7. Ataque de tiempo de vida: un atacante puede crear un JWT para que tenga un tiempo de supervivencia más largo que el tiempo de vencimiento del permiso real.

8. Explotación de ataques de almacenamiento en caché de JWT: JWT puede almacenarse en caché en un servidor proxy o navegador, para que un atacante pueda obtener un JWT válido de él.

9. Explotación de ataques de reproducción JWT: un atacante puede interceptar solicitudes de recursos protegidos, obtener el JWT y reenviarlo para obtener acceso.

10. Ataque usando rutas absolutas en JWT: debido a que JWT puede usar rutas absolutas en lugar de rutas relativas, los atacantes pueden usar esta ruta absoluta para obtener permisos más altos.

82. ¿Cuáles son algunos ejemplos de vulnerabilidades del middleware JAVA?

1. Vulnerabilidad de configuración incorrecta de la conexión de transformación de cifrado Apache Tomcat (CVE-2015-5351)

2. Vulnerabilidad de carga de archivos reflectantes de Apache Tomcat (CVE-2017-12615)

3. Apache Tomcat HttpOnly marca la vulnerabilidad que falta (CVE-2008-5515)

4. Vulnerabilidad de ejecución de comandos reflectantes de Apache ActiveMQ (CVE-2015-1830)

5. Vulnerabilidad de escape no válido de Apache Struts2 (CVE-2016-3087)

6. Vulnerabilidad de manejo inadecuado del protocolo del servidor Apache HTTP (CVE-2016-8743)

7. Vulnerabilidad de inyección LDAP de IBM WebSphere Application Server (CVE-2016-9458)

8. Vulnerabilidad de fuga de información del encabezado XFF de IBM WebSphere Application Server (CVE-2015-2080)

9. Vulnerabilidad de inyección de parámetros de IBM WebSphere Application Server (CVE-2017-1393)

10. Vulnerabilidad de contraseña débil de Oracle WebLogic Server (CVE-2018-2628)

83. ¿Para qué vulnerabilidades se puede utilizar la extracción de DNS?

1. Inyección SQL: utilizando las conclusiones de DNS, un atacante puede leer archivos de bases de datos en un servidor protegido para recuperar información significativa.

2. Ataque de secuencias de comandos entre sitios: los atacantes pueden utilizar la subcontratación de DNS para instalar secuencias de comandos maliciosas en el navegador de la víctima para obtener información de la cuenta.

3. Ataque de entidad externa XML: a través de la subcontratación de DNS, el atacante puede inyectar código malicioso en el sistema de la víctima, lo que le permite obtener más permisos.

4. Suplantación/secuestro de DNS: al utilizar la eliminación de DNS, un atacante puede secuestrar la resolución de DNS del sistema de destino y redirigir la solicitud a un servidor malicioso.

5. Ataque XSS: los atacantes pueden utilizar la subcontratación de DNS para inyectar scripts maliciosos en el sitio web de destino para implementar ataques XSS.

6. Ataque de denegación de servicio: los atacantes pueden utilizar bandas externas de DNS para llevar a cabo ataques de denegación de servicio, ejerciendo así presión sobre el sistema objetivo.

84. ¿Resumen de las vulnerabilidades del middleware?

1. Vulnerabilidad de contraseña débil en enrutadores e interfaces de administración web de enrutadores: los atacantes pueden descifrar por fuerza bruta la contraseña de inicio de sesión de la interfaz de administración web del enrutador y robar información confidencial del enrutador;

2. Vulnerabilidades de administración de contraseñas del sistema: los administradores del sistema utilizan contraseñas predeterminadas y contraseñas fáciles de adivinar, lo que facilita a los atacantes obtener información confidencial del sistema;

3. Configuración incorrecta de las vulnerabilidades del middleware: los administradores del sistema pueden configurar incorrectamente cierta información confidencial, como la configuración de la interfaz, las solicitudes de la interfaz y el cifrado de la transmisión, lo que permite a los atacantes acceder a esta información confidencial;

4. Vulnerabilidad del servicio remoto de middleware: es posible que el administrador del sistema haya abierto el servicio remoto y el atacante puede atacar el servicio y realizar craqueo por fuerza bruta, etc.;

5. Vulnerabilidad de deserialización del middleware: al procesar datos deserializados, es posible que se ignoren muchos pasos de verificación, lo que permite a los atacantes construir código malicioso;

6. Vulnerabilidad de ataque de entidad externa XML de middleware: los atacantes pueden utilizar ataques de entidad externa XML para acceder a información confidencial a través del analizador XML;

7. Vulnerabilidades de las aplicaciones en línea de middleware: los atacantes pueden atacar aplicaciones en línea y robar información confidencial relacionada con el middleware;

8. Vulnerabilidades de control de acceso inadecuado: los administradores pueden ignorar las restricciones de acceso a los recursos, lo que permite a los atacantes acceder a información confidencial del sistema;

9. Vulnerabilidad de codificación insegura en middleware: los administradores pueden descuidar el cifrado de información confidencial, lo que permite a los atacantes acceder a información confidencial del sistema;

10. Vulnerabilidad de depuración de middleware: los administradores del sistema pueden habilitar incorrectamente la función de depuración del sistema, lo que hace que los atacantes obtengan información del sistema de middleware;

85. ¿Habla sobre la idea de elevar privilegios en los sistemas Windows y Linux?

Ideas para elevar privilegios en sistemas Windows:

1. Explotación de vulnerabilidades: inicie sesión en el sistema como administrador con la máxima autoridad, recopile y aproveche las vulnerabilidades en el sistema Windows (incluidas las vulnerabilidades locales y remotas) para escalar privilegios.

2. Herramientas de explotación: al utilizar algunas herramientas de escalada de privilegios (como la herramienta de escalada de privilegios de FuzzySecurity), también puede escalar los privilegios del sistema incluso cuando tenga permiso.

Ideas para elevar privilegios en sistemas Linux:

1. Explotación de vulnerabilidades: al igual que en los sistemas Windows, las vulnerabilidades existentes se aprovechan para aumentar los privilegios, pero las lagunas en los sistemas Linux son más graves y es más fácil aumentar los privilegios.

2. Herramientas de utilización: similar a los sistemas Windows, puede utilizar scripts y varias herramientas de escalada de privilegios lanzadas por la industria. También puede escalar los privilegios del sistema cuando tenga permiso.

86. ¿Qué frameworks tiene Python y qué vulnerabilidades han aparecido en ellos?

Los marcos de Python incluyen: Django, Flask, Tornado, Pyramid, Web2py, Bottle, Hug, Cherrypy, etc.

Las vulnerabilidades que han aparecido incluyen: vulnerabilidad de inyección de entidad XML en Django, vulnerabilidad de inyección de plantilla Jinja2 en Flask, vulnerabilidad de inyección de entidad XML en Pyramid, vulnerabilidad de fuga de datos cifrados SSL en Web2py, vulnerabilidad de ejecución remota de código en Bottle, vulnerabilidades transversales de Hug Path, etc.

87. La diferencia entre la penetración de programas pequeños y la penetración ordinaria.

1. Las características de la penetración de programas pequeños son principalmente la penetración de la capa de aplicación, incluida la detección de seguridad de la interfaz, la verificación de inicio de sesión, el control de permisos, etc., mientras que la penetración ordinaria debe depender de la arquitectura del sistema y la penetración desde la capa de protocolo subyacente, incluida la interceptación de puertos y el parche. ataques, seguridad Web, detección, auditoría de bases de datos, etc.

2. El propósito de la penetración del mini programa es detectar las vulnerabilidades de seguridad del mini programa y detectar la seguridad del mini programa, mientras que el propósito de la penetración ordinaria es detectar las vulnerabilidades de seguridad del sistema y detectar la auditoría de comportamiento del sistema. y detectar la seguridad del sistema.

3. La tecnología de penetración de miniprogramas se centra más en la detección de seguridad en la capa de aplicación, mientras que la tecnología de penetración ordinaria se centra principalmente en la detección de seguridad en la capa de red y superiores.

88. Cuatro componentes principales de las pruebas de vulnerabilidad de la propia aplicación.

1. Herramientas de compilación y creación: las herramientas de compilación y creación pueden ayudar a los desarrolladores a compilar y crear aplicaciones de Android en plataformas de hardware específicas. Estas herramientas pueden encontrar posibles vulnerabilidades en el código fuente, como comprobar si hay código no utilizado, recursos no publicados o códigos no modificables. valor para su uso en entornos no seguros.

2. Shelling de aplicaciones: Shelling de aplicaciones es una tecnología de análisis estático que se utiliza para analizar el código fuente de una aplicación. Puede detectar validación de entrada incorrecta, manejo incorrecto de errores, uso de variables no inicializadas u otros problemas potenciales.

3. Simulador: el simulador es una tecnología de análisis dinámico que puede simular el comportamiento de una aplicación en un dispositivo real y detectar anomalías, como acceso incorrecto a la memoria, manejo incorrecto de excepciones, etc.

4. Marco de prueba: el marco de prueba es un método de prueba que combina análisis estático y análisis dinámico. Permite a los desarrolladores examinar el código de la aplicación antes de implementar las pruebas y ayuda a los evaluadores a ejecutar la aplicación para detectar vulnerabilidades.

89. Principios de protección IDS/IPS e ideas de derivación

La protección IDS/IPS utiliza principalmente una combinación de detección estática común (análisis estático), detección dinámica y análisis de comportamiento.

La detección estática se centra en las características del comportamiento malicioso, como características de identificación, características de conexión, características estructurales, etc., y analiza los paquetes de datos para confirmar si existen características específicas del virus, detectando así ataques de virus.

La detección dinámica, mediante la simulación del entorno del sistema o la operación del virus, observa si el virus tiene un comportamiento agresivo, juzgando así la agresividad del virus.

El análisis de comportamiento, al analizar las características del comportamiento de la red, determina si existe un comportamiento de ataque y, por lo tanto, determina si existe un ataque de virus.

Formas de eludir la protección IDS/IPS:

1. Camuflaje de red: utilice el tráfico alrededor del sistema del atacante como infraestructura de red, cambie la dirección de origen o de destino y utilícelo como un medio para eludir el sistema IDS/IPS;

2. Aumentar la longitud de los paquetes de datos: los atacantes pueden aumentar la longitud de los paquetes de datos y fragmentarlos para su transmisión. Los paquetes de datos maliciosos pueden ocultarse en otros paquetes de datos, evitando así la detección del sistema IDS/IPS;

3. Utilice caracteres especiales: los atacantes pueden utilizar caracteres especiales para convertir paquetes de datos maliciosos en características poco comunes como medio para eludir el sistema IDS/IPS;

4. Transmisión cifrada: los atacantes pueden utilizar la transmisión cifrada para que el sistema IDS/IPS no identifique los paquetes de datos maliciosos durante la transmisión, evitando así la detección y el bloqueo.

90. Utilización del csrf de json

CSRF, que significa Cross-Site Request Forgery, es un ataque que explota la confianza del usuario en que ya ha iniciado sesión en un sitio web para engañarlo para que realice una acción que no desea. Los programas JSON también pueden ser atacados por CSRF. La víctima, sin saberlo, accedió a voluntad a la página web JSON preparada por el atacante, convirtiendo así la operación legal de la víctima en una operación ilegal del atacante.

Para evitar ataques de falsificación de solicitudes entre sitios, puede tomar algunas medidas defensivas, como agregar un token CSRF a cada solicitud JSON, agregar un encabezado Referer a cada encabezado de solicitud para confirmar el sitio web del iniciador de la solicitud, en el cliente JSON Agregar un token de seguridad, habilite HTTPOnly para evitar la inyección de deserialización JSON, escriba código sólido para limitar la cantidad de solicitudes JSON y habilite controles de seguridad para entornos de intranet, etc.

91. ¿Qué vulnerabilidades se pueden probar utilizando paquetes de datos en formato json?

Los paquetes de datos en formato JSON pueden probar múltiples vulnerabilidades, como vulnerabilidades de inyección de scripts del lado del servidor, vulnerabilidades de inyección SQL, vulnerabilidades de inyección de entidades externas XML, vulnerabilidades XXE, vulnerabilidades de inyección PATH, vulnerabilidades XSS reflejadas y vulnerabilidades XSS almacenadas.

92. ¿Cómo recopilar información en el servidor de la intranet?

1. Recopilación de información a través de motores de búsqueda: Utilice Google, Bing y otros motores de búsqueda para buscar información sobre servidores de intranet;

2. Recopile información a través de la consulta Whois: la consulta Whois puede consultar la dirección IP, la información del propietario, etc. del servidor de intranet;

3. Utilice los sitios web de empresas de investigación de redes como Netcraft para recopilar información: los sitios web de empresas de investigación de redes como Netcraft pueden consultar la dirección IP, la versión del sistema operativo, el tipo de servidor, etc. del servidor de intranet;

4. Recopile información a través del escáner de puertos: el escáner de puertos puede consultar los puertos abiertos del servidor de intranet y determinar los programas que se ejecutan en el servidor;

5. Recopile información a través de escáneres de vulnerabilidades: los escáneres de vulnerabilidades pueden consultar si existen vulnerabilidades de seguridad en el servidor de la intranet y determinar la vulnerabilidad del servidor;

6. Recopile información a través de herramientas de captura de paquetes: las herramientas de captura de paquetes pueden capturar los paquetes de datos de red del servidor y verificar el estado de ejecución del servidor.

93. Si desactivas una determinada máquina en la capa límite de la intranet, ¿cómo detectar otras máquinas en la intranet?

1. Primero, se debe analizar la máquina de intranet obtenida para obtener el sistema operativo y la configuración de hardware de la máquina, así como el software instalado, con el fin de maximizar sus ventajas como atacante de intranet.

2. Luego, debe ejecutar algunas herramientas para descubrir los hosts circundantes, habilitar todos los puertos disponibles en la intranet y ver los servicios que brindan y sus respuestas a otros servicios.

3. Al escanear el espacio de direcciones IP disponible, se puede identificar la existencia de otra computadora y se puede determinar el tipo de esta máquina.

4. Intente conectarse a otras computadoras en la intranet e intente iniciar sesión en cuentas de usuario en los sistemas de otras computadoras en la intranet.

5. Intente ejecutar algún malware, como virus y troyanos, para atacar otras computadoras en la intranet.

6. Lanzar una serie de ataques dentro de la intranet objetivo para obtener información útil, como credenciales que pueden usarse para acceder al sistema o la red, o puntos de infracción para escalar privilegios.

7. Finalmente, debes intentar utilizar la información obtenida para atacar a otras computadoras en la intranet para obtener información y permisos válidos.

Supongo que te gusta

Origin blog.csdn.net/2301_77285187/article/details/130956153
Recomendado
Clasificación