Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> 如何防范網站數據庫入侵

如何防范網站數據庫入侵

日期:2017/2/8 10:36:09      編輯:關於服務器

搜狐、163、雅虎等都是眾網民經常光顧的大型門戶網站,這些網站提供的搜索引擎服務最受大家的青睐。可是恰恰是這些搜索引擎為黑客大開方便之門,許多黑客可以利用搜索引擎很容易地得到一個網站的數據庫,從而得到網站的管理賬號和密碼,並可以控制到整個網站的管理權。這樣一來,一些保存在數據庫裡只有管理員才能看到的機密文件就被洩露出來。 

其實通過搜索引擎入侵網站過程十分簡單,了解了入侵的方法,也就可以知道如何解決問題。那麼防范的具體方法到底是怎麼樣的呢? 

首先從入侵者角度著手,分析一段代碼: 

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

set conn=server.createobject(“ADODB.CONNECTION”) 

conn.open connstr %〉 

以上是一段ASP的調用數據庫的代碼,其中“+server.mappath(“data/data.mdb”)+”起到設定數據庫位置的作用。從中不難看出這個網站的數據庫在dada目錄中的data.mdb文件中。 

很多大型網站的搜索引擎中,有一個強大的功能,就是可以搜索未在本搜索引擎注冊過的網頁。利用這個功能,讓我們來搜索“server.mappath”這個字段。結果得到的結果是: 

[無標題文檔] 

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

set conn=…… 

-(網址:略) 

這樣,用戶就會得到很多帶有數據庫位置信息的搜索結果。但結果中會存在一些水分,而且范圍太大。如果用戶只想得到某一個網站的代碼該怎麼辦呢?其實這個也很簡單,搜索引擎通常帶有多關鍵詞查詢功能,只要在所要搜索的兩個關鍵詞中間輸入一個“+”就可以了。比如用戶要查找有關於計算機世界網站中關於網絡安全的所有網頁,只要用戶在搜索引擎中鍵入“計算機世界+網絡安全”即可。同樣,用戶可以用這個方法來解決上面的那個問題。如果用戶要得到某一個程序的數據庫,比如這個程序的名字是《小牛江湖》,那麼用戶在搜索引擎中搜索“小牛江湖+ server.mappath”就可以得到下面的結果: 

[小牛江湖] 

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

set conn=…… 

-(網址:www.mycalf.com/xajh/index.asp) 

此時,這個程序的數據庫位置便一目了然:/xajh/data/mycalf.mdb。接下來用戶把這個數據庫下載下來,用相應的數據庫軟件打開,就可以得到其中的內容。利用這個漏洞還可以得到mssql server的口令,甚至可以進一步的去管理對方的整個服務器。 

天下有矛就該有盾。這個被別人利用搜索引擎得到網站數據庫的問題可以用許多方法化解,最有效的方法之一就是隱藏這段語句,利用調用其他文件的方法來實現調用數據庫。 

首先需要建立一個內容為〈% connstr=“DBQ=“+server.mappath(“data/data.mdb”)+”;DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};” 

set conn=server.createobject(“ADODB.CONNECTION”) 

conn.open connstr %>的ASP文件。比如把這個文件命名為dbconn.asp。這樣只要在需要調用數據庫的ASP文件中加入!--#include file=“dbconn.asp”-->就可以實現數據庫的調用。如此,便實現了調用語段的隱藏,解決了被他人利用搜索引擎得到網站數據庫的問題。

Copyright © Windows教程網 All Rights Reserved