Access的跨庫查詢

2021-03-31 08:57:00 字數 2299 閱讀 5857

本文發於黑防12期和下面的一篇,沒拿到錢,不要發出去了啊!!!

access的跨庫查詢

文/superhei 04-7-28

大家還記得mssql的跨庫查詢吧,其實在access中也可以實現2個資料之間的交叉查詢。下面我就給大家介紹下access的跨庫查詢。

首先讓我們看看在access裡是怎樣實現對mdb檔案進行查詢的,我們隨便建立個空資料庫,對資料庫d:/daos/db/daidalos.mdb裡的admin表的內容進行查詢:sql語句為 select * from admin in "d:/daos/db/daidalos.mdb"

查詢後,成功返回目標資料庫裡表admin表裡的內容:

在實際的asp注射中,要同時進行2個select,如果大家熟悉php+mysql注射的話,應該很容易想到使用union進行聯合查詢,在access裡我們照樣可以使用,使用union查詢還有乙個好處就是不要去對資料進行乙個乙個字元的去猜,而可以象mysql+php注射一樣直接暴出字段裡的資料(具體的mix已經寫了一篇詳細的文章)。從上面可以看出來要實現跨庫查詢必修要下面2個條件:

1.      使用union查詢必須知道前乙個select裡表的字段數

2.      必須知道目標3.      資料庫的所在位置,4.      絕對路徑。

條件1我們可以根據提示錯誤資訊來手工猜解,也可以通過程式自動實現。

我們得知雨點系統的list.asp可以注射,我們先去要得到union裡的資料表字段數,提交:

返回:microsoft jet database engine 錯誤 '80040e14'

在聯合查詢中所選定的兩個資料表或查詢中的列數不匹配。

/yddown/list.asp,行?

欄位不對,我寫了個perl指令碼自動猜,(**見後)

當我們提交:

無錯誤返回,

哈哈! 我們已經得到欄位數了,並且我們可以得到在字段1的我位置,可以顯示我們查詢的資料。

現在還就差盜帥的資料庫位置了,簡單我們暴庫,提交:

成功返回路徑:

microsoft jet database engine 錯誤 '80004005'

'd:/111/db/kljdsld.asa'不是乙個有效的路徑。確定路徑名稱拼寫是否正確,以及是否連線到檔案存放的伺服器。

/dsdown/db/user.asp,行

(注意:這樣得到的的路徑不一定是「完整」的,真正的路徑為:d:/111/dsdown/db/kljdsld.asa)

下面我們跨庫,構造url如下:

上面的語句是,union查詢資料d:/111/db/kljdsld.asa裡表admin裡id=1的字段admin的資料,如果成功將直接暴出後台管理的使用者名稱:

得到使用者名為admin 我們接著暴密碼:

如圖:得到密碼為32位的md5加密的hash;77e6cbb3f9468eadb655ae6826357922

我們跨庫查詢成功,這裡我只是為大家演示下跨庫查詢,黑防那裡就不管咯 : )。

小結:本文主要是給大家介紹了2個非常有用的方法,第1 我們在asp注射時不一頂要乙個個字元去猜,那樣遇到中文的很麻煩,直接用union替代資料可以直接暴出資料,不關是中文還是特殊字元,都可以一步到位,第2 就是跨庫了,使用很靈活,可以讓你在滲透時,有意想不到的收穫。

access跨資料庫查詢

有的時候,我們做專案時,需要在不同的資料庫中進行互動,如果在程式中寫多個資料庫連線多有不便。突然想到同事小李說如果在sql中能查詢不同資料庫的內容就好了,於是上網查了一下,果然可以實現,不敢獨享,整理結果如下 當前資料庫為testa,要查詢資料庫testb中的某個表內容,我們就可以採用如下方法。第一...

php結合ACCESS的跨庫查詢功能

問題說明 有時需要在兩個或三個資料庫的表中,通過相關關鍵字,查詢獲取所需記錄集,用一般的sql查詢語句是實現不了的,可通過access的跨庫查詢功能實現。解決方法 例如 裝材型別 和 裝材 兩張表是在不同的資料庫中的,具體查詢方法,如程式設計客棧下 程式設計客棧 複製 如下 select from ...

ACCESS 跨資料庫查詢的SQL語句

by ben 問題說明 有時需要在兩個或三個資料庫的表中,通過相關關鍵字,查詢獲取所需記錄集,用一般的sql查詢語句是實現不了的,可通過access的跨庫查詢功能實現。解決方法 例如 裝材型別 和 裝材 兩張表是在不同的資料庫中的,具體查詢方法,如下 詳細解釋 database path pwd 1...