Cómo prevenir la intrusión en la base de datos del sitio web

  
                              

Sohu, 163, Yahoo, etc., son portales a gran escala frecuentados por internautas. Los servicios de búsqueda que ofrecen estos sitios web son los más populares entre ustedes. Sin embargo, son precisamente estos motores de búsqueda los que abren la puerta a los piratas informáticos. Muchos piratas informáticos pueden obtener fácilmente una base de datos de un sitio web utilizando un motor de búsqueda, obteniendo así la cuenta de administración y la contraseña del sitio web, y controlando los derechos de administración de todo el sitio web. Como resultado, se filtran algunos archivos confidenciales almacenados en la base de datos que solo los administradores pueden ver.

De hecho, el proceso de invadir el sitio web a través del motor de búsqueda es muy simple, entienda el método de intrusión, puede saber cómo resolver el problema. Entonces, ¿cuál es el método específico de prevención?

En primer lugar, desde la perspectiva del intruso, analice un fragmento de código:

<% connstr = "DBQ =" + server.mappath ("data /data.mdb") + "; DefaultDir =; DRIVER = {Microsoft Access Driver (* .mdb)}; "

set conn = server.createobject (" ADODB.CONNECTION ")

conn.open connstr%〉

Lo anterior es una parte del código de la base de datos de llamadas ASP, donde "+ server.mappath (" data /data.mdb ") +" desempeña la función de configurar la ubicación de la base de datos. No es difícil ver que la base de datos de este sitio web se encuentra en el archivo data.mdb en el directorio dado.

En muchos motores de búsqueda para sitios web grandes, existe una potente función que puede buscar páginas web que no se hayan registrado con este motor de búsqueda. Usando esta característica, busquemos el campo "server.mappath". El resultado es:

[Documento sin título]

...... = "+ server.mappath (" ../up /mucal /calp.mdb ") +"; DefaultDir =; DRIVER = {Microsoft Access Driver (* .mdb)}; "

set conn = ......

- (URL: 略)

De esta manera, el usuario obtendrá Una gran cantidad de resultados de búsqueda con información sobre la ubicación de la base de datos. Pero habrá algo de humedad en los resultados y el alcance es demasiado grande. ¿Qué pasa si el usuario solo quiere obtener el código de un determinado sitio web? De hecho, esto también es muy simple, el motor de búsqueda generalmente tiene varias claves. La función de consulta de palabras, simplemente ingrese un "+" en el medio de las dos palabras clave que se buscarán. Por ejemplo, el usuario debe encontrar todas las páginas web sobre la seguridad de la red en el sitio web del mundo informático, siempre y cuando el usuario escriba "mundo informático" en el motor de búsqueda. + La seguridad de la red puede ser. Del mismo modo, los usuarios pueden usar este método para resolver el problema anterior. Si el usuario desea obtener una base de datos de un programa, por ejemplo, el nombre del programa es "Mavericks", entonces el usuario busca en el motor de búsqueda. "Mavericks y ríos + servidor .mappath "puede obtener los siguientes resultados:

[小牛 江湖]

...... =" + server.mappath ("../xajh /data /mycalf.mdb") +; DefaultDir =; DRIVER = {Microsoft Access Driver (* .mdb)}; "

set conn = ......

- (URL: www.mycalf.com/xajh/index.asp

En este punto, la ubicación de la base de datos de este programa es clara: /xajh/data/mycalf.mdb. Luego, el usuario descarga la base de datos y la abre con el software de la base de datos correspondiente para obtener el contenido. El uso de esta vulnerabilidad también puede obtener la contraseña del servidor mssql y administrar aún más el otro servidor.

Hay una lanza en el mundo. Este problema puede ser usado por otros para usar el motor de búsqueda para obtener la base de datos del sitio web. Uno de los métodos más efectivos para resolver el problema es ocultar esta declaración y usar el método de llamar a otros archivos para implementar la llamada a la base de datos.

Primero debe crear un contenido <% connstr = "DBQ =" + server.mappath ("data /data.mdb") + "; DefaultDir =; DRIVER = {Microsoft Access Driver (* .mdb )}; "

set conn = server.createobject (" ADODB.CONNECTION ")

conn.open connstr% > archivo ASP. Por ejemplo, nombre este archivo dbconn.asp. Entonces, mientras agrega el! - # include file = "dbconn.asp" - > en el archivo ASP que necesita llamar a la base de datos, puede implementar la llamada a la base de datos. De esta manera, se realiza la ocultación del segmento llamante y se resuelve el problema de utilizar el motor de búsqueda para obtener la base de datos del sitio web por parte de otros.

Copyright © Conocimiento de Windows All Rights Reserved