¿Cuáles son las preguntas de la entrevista para ingenieros de redes?
1. Descifrar nombre de usuario y contraseña.
Principio de ataque: Los nombres de usuario y las contraseñas suelen ser lo que más interesa a los hackers. Si el código fuente se ve de alguna manera, las consecuencias pueden ser graves.
Consejos de prevención: los programas que involucran nombres de usuario y contraseñas se empaquetan mejor en el lado del servidor y se intenta evitar que aparezcan en archivos ASP. A los nombres de usuario y contraseñas relacionados con las conexiones de bases de datos se les deben otorgar permisos mínimos. Los nombres de usuario y contraseñas que aparecen con frecuencia se pueden escribir en archivos de inclusión ocultos. Si se trata de una conexión a una base de datos, lo ideal es darle permiso solo para ejecutar procedimientos almacenados y no darle permiso al usuario para modificar, insertar o eliminar registros directamente.
2. Omitir la autenticación.
Principio de ataque: la mayoría de los programas ASP que requieren verificación ahora agregan una declaración de juicio al encabezado de la página, pero esto no es suficiente. Los piratas informáticos pueden pasar por alto la verificación e ingresar directamente.
Consejo de prevención: necesita una página ASP verificada que pueda rastrear el nombre del archivo de la página anterior. Sólo la sesión transferida desde la página anterior puede leer esta página.
3. Problema de fuga de documentos de la empresa
Principio de ataque: al crear una página de inicio con ASP y antes de completar la depuración final, algunos motores de búsqueda pueden agregarla de manera flexible como un objeto de búsqueda. . Si alguien usara un motor de búsqueda para buscar estas páginas web en este momento, obtendría la ubicación de los archivos relevantes y vería los detalles de la ubicación y estructura de la base de datos en un navegador, revelando el código fuente completo.
Consejos de prevención: los programadores deben depurar minuciosamente las páginas web antes de publicarlas; los expertos en seguridad deben proteger los archivos ASP para que no sean visibles para los usuarios externos. Primero, cifrado. En segundo lugar, puedes utilizar . archivos asp en su lugar. inc archivo para que los usuarios no puedan ver el código fuente del archivo directamente desde el navegador. El nombre del archivo inc no debe utilizar el nombre predeterminado ni un nombre que tenga un significado especial y que sea fácil de adivinar para los usuarios. Intente utilizar letras inglesas irregulares.
4. Descargar copia de seguridad automática.
Principio de ataque: En algunas herramientas de edición de programas ASP, cuando se crea o modifica un archivo ASP, el editor creará automáticamente un archivo de copia de seguridad. Por ejemplo, UltraEdit realizará una copia de seguridad de un archivo bak. Si crea o modifica some.asp, el editor generará automáticamente un archivo llamado some.asp.bak. Si no elimina este archivo bak, el atacante puede descargar directamente el archivo some.asp.bak, de modo que el programa fuente. de some.asp se descargará.
Consejos de prevención: Verifique cuidadosamente antes de cargar el programa y elimine los documentos innecesarios. Preste especial atención a los archivos con el sufijo BAK.
5. Caracteres especiales
Principio del ataque: el cuadro de entrada es el objetivo de los piratas informáticos. Los piratas informáticos pueden destruir el cliente del usuario ingresando lenguaje de secuencia de comandos; utilizarán declaraciones de consulta especiales para obtener más datos de la base de datos, incluso todas las tablas. Por lo tanto, el cuadro de entrada debe filtrarse. Pero si la validez de la entrada se verifica en el cliente sólo para mejorar la eficiencia, aún así se puede omitir.
Consejos de prevención: en programas ASP que manejan cuadros de entrada como foros de mensajes y BBS, es mejor bloquear las declaraciones HTML, JavaScript y VBScript. Si no hay requisitos especiales, puede limitar la entrada solo a letras y números y bloquear caracteres especiales. Al mismo tiempo, la longitud de los caracteres de entrada es limitada. Además, la legalidad de la entrada debe comprobarse no sólo en el lado del cliente, sino también en el programa del lado del servidor.
6. Vulnerabilidad de descarga de la base de datos
Principio del ataque: cuando se utiliza Access como base de datos backend, si alguien conoce o adivina la ruta y el nombre de la base de datos de Access del servidor a través de varios métodos, entonces también puede descargar este archivo de base de datos de Access, que es muy peligroso.
Habilidades de prevención:
(1) Asigne a su archivo de base de datos un nombre complejo y poco convencional y colóquelo en varios directorios. ¿Así llamado? ¿Poco convencional? Por ejemplo, si hay una base de datos que se utiliza para almacenar información de libros, ¿se le debe dar un nombre? libro.mdb? Nómbralo, pero dale un nombre extraño, como d34ksfslf.mdb, y colócalo en varios directorios, como. /kds lf/i44/studio/, por lo que es más difícil para los piratas informáticos obtener los archivos de su base de datos de Access mediante adivinanzas.
(2) No escriba el nombre de la base de datos en el programa. A algunas personas les gusta escribir el DSN en el programa, como por ejemplo:
DBPath = servidor. MapPath(?cmddb.mdb?)
Sala de control. ¿Abierto? controlador={Controlador de Microsoft Access (*.MDB)}; ampDBPath
Si alguien obtiene el programa fuente, el nombre de su base de datos de Access quedará claro de un vistazo. Por lo tanto, te recomiendo que configures una fuente de datos en ODBC y luego escribas esto en el programa:
Abre la sala de control. ¿Yuan Shuji?
(3) Utilice Access para codificar y cifrar el archivo de base de datos. ¿primero? ¿herramienta? ¿Es seguro? ¿Cifrar/descifrar la base de datos? Seleccione una base de datos (como empleado.mdb) y presione OK. ¿Entonces qué? ¿Guardar base de datos cifrada? Ventana, ¿se puede guardar como:? empleadores 1. MDB? .
Cabe señalar que la acción anterior no establece una contraseña para la base de datos, solo codifica el archivo de la base de datos. El propósito es evitar que otros usen otras herramientas para ver el contenido del archivo de la base de datos.
A continuación, ciframos la base de datos. Primero, abrimos el empleado codificado 1. Cuando se abre el MDB, seleccionamos? ¿exclusivo? Forma. ¿Entonces elegir del menú? ¿herramienta? ¿Es seguro? ¿Establecer contraseña de base de datos? y luego ingrese su contraseña. De esta manera, incluso si alguien más obtiene el archivo empleado1.mdb, no puede ver el contenido de empleado1.mdb sin la contraseña.
7. Prevenir ataques de inyección remota
Este tipo de ataque debería ser un método de ataque relativamente común en el pasado, como el ataque POST. El atacante puede cambiar el valor de los datos que se enviará. a voluntad para lograr el Propósito del ataque. Otro ejemplo son las COOKIES falsificadas, que merecen la atención de los programadores o webmasters. No utilices COOKIES como método de autenticación de usuario, de lo contrario serás como dejar tus llaves a un ladrón.
Por ejemplo:
if trim(request.cookie(?ebume?))=?fqy? y Request.cookies(?upwd?) =?fqy#e3i5.com? Y luego
...¿más?
Terminará si...
Creo que los webmasters o amigos a quienes les gusta escribir programas no deberían cometer tal error. Es realmente imperdonable. Las COOKIES se han falsificado durante muchos años, por lo que no puedes culpar a otros por robar tu contraseña. Cuando se trata de contraseñas de usuario o inicio de sesión de usuario, será mejor que utilices sesión, que es la más segura. Si desea utilizar COOKIES, agregue un mensaje más, SessionID, a sus COOKIES. Su valor aleatorio es de 64 bits. No puedo adivinar.
Si no (rs.BOF o rs.eof)
¿Iniciar sesión=? ¿En realidad?
sesión(?nombre de usuario?ampsessionID)=nombre de usuario
sesión(?contraseña?ampsessionID)=contraseña
? Response.cookies(?nombre de usuario?)=nombre de usuario
? Response.cookies(?Contraseña?)=Contraseña
Primero hablemos de cómo prevenir ataques de inyección remota.
El ataque general es arrastrar el archivo de envío de formulario único al lugar local y colocar Form ACTION=? chk.asp? Simplemente apunte al archivo en su servidor para procesar los datos. Si todo su filtrado de datos está en una página de tabla, felicidades, ha sido atacado por un script.
¿Cómo se pueden prevenir estos ataques remotos? Fácil de manejar, consulte el siguiente código: Cuerpo del programa (9)
? Personalmente, creo que el filtrado del código anterior no es muy bueno y algunos envíos externos aún pueden llegar abiertamente, así que escribiré otro artículo.
? Este filtro tiene un muy buen efecto de filtrado y se recomienda.
if instr(request . variables del servidor(explorer\MenuExt\extension(;E)]
@=?C:\Documentos y configuraciones\Administrator\Desktop\len.htm ?
Contexto? =dword: 00000004
Fin? -
len.htm
"persona": reverendo
Uso: Primero importe len.reg al registro (preste atención a la ruta del archivo)
Luego copie len.htm en el lugar especificado en el formulario de registro.
Abra la página web, haga clic derecho en el cursor en el cuadro de entrada donde desea cambiar la longitud y vea una opción llamada extensión
Haga clic en Finalizar: también puede manejar la limitación del contenido de entrada.
¿Qué hacemos para que se salten nuestras restricciones y todos nuestros esfuerzos sean en vano? No, levanta el teclado y di no, volvamos al filtrado de caracteres del script. No es más que un ataque de script. Pongamos todos nuestros esfuerzos en la página posterior a la acción. Filtramos todos los caracteres ilegales. ¿Cuál es el resultado? Simplemente fingimos frente a ellos y les dejamos cambiar el registro. es tan inútil
Troyano 8.ASP
Eso es todo. Me gustaría recordarles a los webmasters del foro que tengan cuidado al cargar archivos: ¿Por qué los atacantes se apoderan del host? ¿El programa del foro está roto? La razón es correcta. El troyano ASP es algo absolutamente odioso. ¿No exactamente? Simplemente coloque un archivo en su programa del foro. Se puede encontrar en cualquier momento. ? Si su foro admite la carga de archivos, establezca el formato de archivo que desea cargar. No estoy de acuerdo con él. Solo los formatos de archivos de imagen y comprimidos están completamente bien. uno de los favoritos aquí y puede echar un vistazo:
Cuerpo del programa (10)
? Determinar si el tipo de archivo está calificado
Función privada CheckFileExt (fileEXT). )
carga del foro atenuada
carga del foro=? gif, jpg, bmp, jpeg
Forumupload=split(Forumupload,,?)
Para i=0 a ubound(Forumupload)
Si lcase(fileEXT)= lcase(trim(forum upload(I))), entonces
CheckFileExt=true p>
Salir de la función
Otros
CheckFileExt=false
Terminará si...
Entonces
¿Finalizar función
? Verificar la legalidad del contenido del archivo
Establecer MyFile = servidor. CrearObjeto(?Scripting.
¿Objeto del sistema de archivos? )
Establecer MiTexto = MiArchivo. ¿Abrir archivo de texto (sArchivo, 1)? Leer archivo de texto
sTextAll = lcase(MyText.ReadAll): MyText.close
? Determinar operaciones peligrosas en archivos de usuario
sStr =? 8. Obtenga la carpeta. Crear carpeta. Elimina la carpeta. Crear directorio
. ¿Eliminar directorio?
sStr = amplificador sStr? . ¿Guardar como wscript.shell script.encode?
sNoString = split(sStr,)
Para i = 1 a sNoString(0)
if instr(sTextAll, sNoString(I)) lt; Entonces 0
sFile = Upl. Caminos y caminos. Archivo guardado. Eliminar archivo
Respuesta. ¿Escribir?
? ampsFileSave amplificador? ¿El archivo contiene comandos relacionados con directorios operativos? amp_
?
? ampmid(sNoString(i), 2) y amplificador? , no se puede cargar por razones de seguridad. ? amp_?
?
Response.End
Terminará si...
Entonces
Cuerpo del programa (10)