Ayer entrevisté a una ingeniera de seguridad y su respuesta me resultó refrescante.

Recientemente, la empresa estaba contratando a un ingeniero de ciberseguridad y yo también participé en parte de la entrevista. De hecho, muchos hablan de su propia comprensión y actitud hacia la seguridad de la red. En cuanto a las cosas técnicas, mientras más contacto tengas con la obra, poco a poco te familiarizarás con ella. Aquí, también resumo algunas preguntas frecuentes. Se abrió una nueva columna: "Colección de entrevistas de ingenieros de seguridad de redes"

https://blog.csdn.net/weixin_42350212/category_11066978.html?spm=1001.2014.3001.5482

Omisión de verificación de archivos y carga

contenido

4.8.1 Omisión de detección de tipo de archivo

4.8.1.1 Omisión de solicitud de cambio

4.8.1.2 Omisión de detección mágica

4.8.1.3 Omisión de sufijo

4.8.1.4 Omisión de nombres del sistema

4.8.1.5. .usuario.ini

4.8.1.6 Omisión de WAF

4.8.1.7 Omisión de carga competitiva

4.8.2 Técnicas de ataque

4.8.2.1 Apache anula GetShell

4.8.2.2 Enlace suave para leer archivos arbitrariamente

4.8.3 Técnicas de protección


4.8.1 Omisión de detección de tipo de archivo

4.8.1.1 Omisión de solicitud de cambio

Algunos sitios solo detectan tipos de archivos en el front-end, y este tipo de detección se puede omitir modificando directamente las solicitudes de red. De manera similar, algunos sitios solo verifican la información en el encabezado HTTP en el back-end, como , Content-Typeetc. Esta verificación también se puede omitir modificando la solicitud de red.

4.8.1.2 Omisión de detección mágica

Algunos sitios usan encabezados de archivos para detectar tipos de archivos, que se pueden omitir agregando los bytes correspondientes antes del shell. Los bytes de encabezado de varios tipos de archivos comunes se muestran en la siguiente tabla

Tipos de valor binario
JPG FF D8 FF E0 00 10 4A 46 49 46
GIF 47 49 46 38 39 61
PNG 89 50 4E 47
TIF 49 49 2A 00
BMP 42 4D

4.8.1.3 Omisión de sufijo

Algunos servicios solo determinan el tipo de archivo según el sufijo, la información de carga o el encabezado mágico, que se puede omitir en este momento.

Por razones históricas, algunos intérpretes pueden admitir sufijos /ph(p[2-7]?|t(ml)?)/regulares ,

Tales como php// // / / / php5etc. phtpueden phtmlprobar el tipo cuando la carga de archivos php está prohibida .shtmlpwmlphtm

El motor jsp puede analizar jspx/ jspf/ jspa/ jsw/ jsv/ jtmly otros sufijos,

asp admite sufijos como //////// ._ asa_ asax_ cer_ _cdxaspxascxashxasmxasp{80-90}

Además de estas omisiones, otros sufijos también pueden causar problemas,

Tales como vbs/ asis/ sh/ reg/ cgi/ exe/ dll/ com/ bat/ pl/ cfc/ cfm/ inietc.

4.8.1.4 Omisión de nombres del sistema

En los sistemas Windows, index.php.se a ., lo que omite la verificación del sufijo.

Prueba también index.php%20, index.php:1.jpg index.php::$DATAetc.

En los sistemas Linux, puede intentar index.php/.cargar ./aa/../index.php/.un archivo con el nombre o

4.8.1.5. .usuario.ini

Durante la ejecución de php, php.iniademás , PHP también escanea cada directorio en busca de archivos INI, comenzando por

El directorio donde se encuentra el archivo PHP ejecutado comienza a subir al directorio raíz web ($_SERVER['DOCUMENT_ROOT']

especificado). Si el archivo PHP que se está ejecutando está fuera del directorio raíz web, solo se escanea ese directorio.

.user.iniOpciones que pueden definir modos distintos de PHP_INI_SYSTEM en , para que pueda usar.user.ini

Agregue un archivo con un sufijo que no sea php para construir un shell,

por ejemploauto_prepend_file=01.gif

4.8.1.6 Omisión de WAF

Algunos wafs solo procesan parte de los datos teniendo en cuenta las razones de rendimiento durante el proceso de escritura.

En este momento, su función de procesamiento se puede omitir agregando una gran cantidad de datos basura.

Además, los boundarysistemas manejan de manera inconsistente,

El bypass se boundarypuede .

4.8.1.7 Omisión de carga competitiva

Algunos servidores utilizan el método de guardar primero y luego eliminar los archivos ilegales.

Puede cargar un archivo que generará un Web Shell repetidamente e intentar acceder a él, y puede obtener el Shell después de muchas veces.

4.8.2 Técnicas de ataque

4.8.2.1 Apache anula GetShell

Apache puede considerar cargar .htaccess en función de si se permiten redirecciones

El contenido es

AddType application/x-httpd-php .png
php_flag engine 1

Puede usar png u otros archivos con sufijos para hacer scripts php

4.8.2.2 Enlace suave para leer archivos arbitrariamente

Cuando el archivo del paquete comprimido cargado se descomprima, puede considerar cargar archivos que contengan enlaces simbólicos.Si el servidor no está bien protegido, se puede lograr el efecto de leer cualquier archivo.

4.8.3 Técnicas de protección

  • Use una lista blanca para limitar los tipos de archivos cargados
  • Use una verificación de tipo de archivo más estricta
  • Restringir el análisis del servidor web de las carpetas de carga

Supongo que te gusta

Origin blog.csdn.net/weixin_42350212/article/details/123015247
Recomendado
Clasificación