Red de conocimientos turísticos - Información de alquiler - Método de utilización detallado de la última vulnerabilidad de inyección en la versión SQL Dongwang 7.1 y cómo obtener webshell en segundo plano

Método de utilización detallado de la última vulnerabilidad de inyección en la versión SQL Dongwang 7.1 y cómo obtener webshell en segundo plano

A continuación, le presentaré varios métodos comunes para obtener webshell.

1Upload

Hablando de cargar webshell, tenemos que mencionar la vulnerabilidad de carga de archivos anterior a 7.0 SP2, ¡que incluso provocó demandas! La razón es difícil de decir, pero probablemente sea un problema de truncamiento de caracteres. Veamos cómo aprovecharlo. Aquí vamos a utilizar la herramienta de carga universal para veteranos (Figura 76). De hecho, es muy simple, porque incluso el renombrado Foro Dongwang no ha notado esta grave vulnerabilidad y, naturalmente, muchos otros sistemas han evitado hablar de ella. Por lo tanto, esta herramienta es "universal". Aplicó el parche SP2, registre una cuenta, inicie sesión y vea si la carga está prohibida. De lo contrario, extraeremos la cookie actual. Si no, estamos extrayendo la cookie actual para guardarlas (¿cómo extraerla?). Lo olvidé nuevamente, ¿no dije antes que se puede extraer con un navegador de cookies modificado? ) Luego complete la URL de vulnerabilidad, el archivo que desea cargar, las cookies y otra información en la herramienta de carga universal (Figura 77), haga clic en "Cargar" y después de un momento le indicará que se realizó correctamente (Figura 78). Ahora accedamos a archivo cargado, vea si obtiene un shell (Figura 79)

Por supuesto, no todos los sistemas se pueden cargar de esta manera. A continuación resumo algunos de los métodos de carga más utilizados.

1. Ingrese el fondo y cárguelo directamente. Algunos sistemas confían mucho en el administrador. Después de ingresar al backend, siempre que encuentre un lugar donde pueda cargar, puede seleccionar directamente un caballo y colocarlo sobre él sin ninguna obstrucción (Figura 80).

2. Agregar tipo de carga. Si no puede cargarlo directamente, puede ver si hay un lugar donde puede agregar un tipo de carga. Si es así, simplemente agregue un ASP. Por supuesto, algunos sistemas tienen restricciones de código que no permiten la carga de archivos ASP. No importa. Podemos agregar archivos ASA, CER y otros que sí se pueden cargar y luego cambiar el sufijo .asp a ASA o CER. carga, que también está disponible (Figura 81).

3. Capturar y subir. Aquí debemos aprovechar una pequeña vulnerabilidad en Win2000. Si el final del nombre del archivo es un espacio o un símbolo ".", Windows automáticamente "comerá" este símbolo. Luego, podemos agregar el archivo "ASP" que se puede cargar. Tenga en cuenta que no puede haber un espacio después de ASP y ASP no puede ser igual a ASP, por lo que las restricciones en el código son inútiles. Luego llegamos a la interfaz de carga de archivos, seleccionamos un archivo ASP y no lo subimos. Abrimos la herramienta de captura de paquetes Wsock Expert (Figura 82), seleccionamos la ventana de carga de IE de monitoreo, luego regresamos a la interfaz de carga, hacemos clic en cargar y nos indica que la carga falló. Como era de esperar. Llegamos a Wsock Expert y encontramos el paquete de datos que acabamos de enviar (Figura 83. Vimos que mm.asp no estaba allí, así que agregamos un espacio después, luego lo enviamos con NC y la carga se realizó correctamente).

4. Utilice el conflicto de formulario para cargar. El uso más típico de este método es la carga de Power 3.51. También registramos un usuario para publicar artículos.

Cambie al modo "Código fuente" e ingrese el siguiente código:

lt;FORM name=form1 onsubmit="return check()" action=upfile_article.asp método=post encType=multipart/form-datagt; lt ;INPUT class=tx1 tipo=nombre de archivo=FileNamegt;lt;INPUT class=tx1 tipo=nombre de archivo=FileNamegt;lt;INPUT style="BORDE-RIGHT: rgb(88, 88, 88) 1px doble; BORDER-TOP : rgb(88, 88, 88) 1px doble; PESO DE FUENTE: normal; TAMAÑO DE FUENTE: 9pt; BORDE IZQUIERDO: rgb(88, 88, 88) 1px doble; (88, 88, 88) 1px doble; ESTILO DE FUENTE: normal; VARIANTE DE FUENTE: normal" tipo=valor de envío=subir nombre=Submitgt;lt;/FORMgt;

Veamos la "Vista previa". " modo nuevamente. ¿Alguna vez ha visto dos cuadros para seleccionar archivos para cargar pero solo un botón de carga (como se muestra en la Figura 84)? Seleccionamos un archivo ASP en el primer cuadro y un archivo jpg en el segundo cuadro y hacemos clic en Cargar. Esto puede causar un conflicto, pero si volvemos al modo "fuente", podemos ver la dirección webshell que cargamos.

5. Utilice código para restringir la carga de tipos de archivos. Hoy en día, muchos códigos restringen la carga de archivos ASP por razones de seguridad, pero los métodos de restricción de algunos códigos son realmente poco favorecedores. Algunos enfoques para la restricción de código que he visto son eliminar ASP cada vez que se encuentra. Luego, podemos agregar un tipo de carga "ASASPP", de modo que durante el proceso de carga, el código eliminará el centro a ASP y el sufijo naturalmente se convertirá en ASP.

6. Utilice otras herramientas de carga. Aunque el nombre de la herramienta universal del veterano es universal, debido a que el código de carga de algunos sistemas es diferente al de Dongwang, esta herramienta no es efectiva. También he recopilado aquí cómo utilizar otros programas específicos de carga. Por ejemplo, cuando vas a Yuanyajing, la operación es muy sencilla y creo que todo el mundo puede utilizarla.

(2) El filtro de escritura está incompleto,

Porque muchos sistemas ahora pueden usar la función FSO para escribir directamente en sus archivos. Si el filtro de escritura de archivos está incompleto, también puede hacerlo. Escriba directamente en el webshell, como conife.asp de Yidong. Aquí quiero hablar sobre leadbbs que agrega enlaces al webshell en segundo plano. Vamos al fondo para agregar un enlace, hacemos clic en "Nuevo enlace" (Figura 85) y luego completamos el "Nombre del sitio" con una oración de "Bingfeng Langzi Micro ASP Backdoor Ocean Trojan" y otras cosas desordenadas (Figura 86). Luego usamos el cliente para conectarnos y luego el cliente para conectarnos. ¡Éxito! (Figura 87)

Además de filtrar escrituras de archivos, también hay filtrado para escrituras de bases de datos. Cuando sabemos que el sufijo de la base de datos es ASP a través de la biblioteca Storm, pero usando Express que se puede descargar de Internet, podemos estar seguros de que la base de datos no contiene declaraciones ASP. En este momento, solo necesitamos encontrar una. lugar para escribir la base de datos, escribir un caballo de Troya y luego conectarse con el cliente también puede ser exitoso.

3. Preparación y recuperación de antecedentes

En lo que respecta a la preparación y recuperación de antecedentes para obtener webshell, he investigado mucho. También se puede decir que comencé a aprender tecnología. Desde aquí, hablemos de ello a continuación. Hablando en términos generales, primero cambiamos el sufijo de un troyano ASP a gif y lo cargamos, luego escribimos la dirección y lo cargamos a continuación. Página de preparación de datos (como se muestra en la Figura 88). En el "Troyano ASP", coloque el "Troyano ASP" y luego use el cliente para conectarse, intente tener éxito. Figura 88), complete el nombre del archivo que acaba de cargar en "Ruta de la base de datos", complete la dirección donde desea implantar el troyano en "Ruta después de escribir", tenga en cuenta que el sufijo es ASP (Figura 89), haga clic en "Escribir"

¿Pero qué pasa si no se nos permite definir la dirección de la base de datos actual como Power? Se puede hacer lo mismo. Echemos un vistazo a la dirección de la base de datos de Weili a través del fondo de estilo artístico de Baoku. Debido a que es ASP, podemos cambiar un troyano ASP a un tipo gif y luego cargarlo. "Recuperación de base de datos" y vea: Puede personalizar la ruta para restaurar la base de datos (como se muestra en la Figura 90). Seleccionamos la ruta del archivo que acabamos de cargar y lo restauramos (como se muestra en la Figura 91). Después de que la recuperación sea exitosa , no se puede utilizar todo el sistema, solo necesitamos acceder directamente a la dirección de la base de datos para obtener el webshell. Por supuesto, para no ser descubierto por otros, es mejor preparar el punto de la base de datos primero, obtener el shell y luego use el shell para restaurarlo.

El método mencionado anteriormente es el "Suplemento del artículo sobre el uso de ACCESS para obtener webshell" publicado en mi primer documento. En este punto, el método de uso de preparación y recuperación de datos parece estar terminado, pero. de hecho no lo es. En cuanto al sistema de energía, si no podemos obtener la dirección de la base de datos, o los datos son mdb y están fuera de la web, ¡no debemos usar el método anterior!

No obtenga la dirección de la base de datos, o los datos son mdb, fuera de la web externa, ¡no usamos el método anterior!

No te preocupes, haz otra ronda, ¡vamos! cuidado Al observar la potencia del sistema, la oficina de respaldo está restringida solo a la copia de seguridad de la base de datos actual, no de otros archivos, y el sufijo del archivo después de la copia de seguridad se limita a ASA, pero el nombre del archivo se puede personalizar. Durante la recuperación, los datos solo se pueden restaurar al archivo de base de datos actual. Si nos encontramos con las tres situaciones mencionadas al principio de este párrafo, será inútil restaurar el shell. Como no podemos eliminarlo directamente, restauremos honestamente los datos relativamente normales. Es normal porque esta base de datos no tiene impacto en el sistema, pero se han realizado algunas manipulaciones.

Tomamos una base de datos vacía en el mismo sistema, cambiamos el contenido de la tabla

Para webs dinámicas menos restrictivas, podemos realizar copias de seguridad de los datos directamente. Si bien existen restricciones en las ramas de respaldo en 7.1 (Figura 93), también hay restricciones en las ramas de recuperación (Figura 94), que son mucho más flexibles que los poderes.

4. Exportación SQL. Para el punto de inyección del sitio SQL, también podemos utilizar el método de exportación de escritura SQL inventado por los mendigos en el mundo de los piratas informáticos para obtener el webshell. El principio es obtener el webshell a través de la base de datos SQL cuando se encuentra la ruta física del sitio. Se sabe que escriba una tabla con un caballo de Troya y luego exporte la tabla y el webshell podrá obtenerla.

El principio es conocer la ruta física del sitio web escribiendo una tabla con troyanos en la base de datos SQL y luego exportar la tabla para obtener el webshell. Para que la administración no nos descubra, debemos eliminar la tabla recién creada. Sicai también escribió especialmente una herramienta llamada getwebshell (Figura 95). Su uso no es complicado, por lo que no entraré en detalles.