top
Loading...
ASP漏洞分析和解決方法(9)
20、利用Activer server explorer可對文件進行讀寫訪問

漏洞描述:
chinaasp的Activer server explorer可以很方便的對本地文件在線查看服務器上的目錄 在線查看文件的名稱、大小、類
型、修改時間,在線編輯純文本文件,如.txt、.htm、.asp、.pl、.cgi等等,直接執行服務器上的文件。
Activer server explorer要求填寫相對路徑或者絕對路徑,但是假如:有一個攻擊者把Activer server explorer上傳到
目標服務器上的某個目錄,并且這個目錄支持ASP的話,那么他就可以通過Activer server explorer修改、執行目標服務器上的
文件。這種情況可以發生在一個攻擊者擁有目標NT服務器上的一個可寫目錄帳號,并且這個目錄又支持ASP。比如一些支持ASP的個
人免費主頁服務器,把Activer server explorer先傳上你申請的免費主頁空間,再通過各種方法得到目標服務器的路徑,(比如
可通過漏洞:"請求不存在的擴展名為idq或ida 文件,會暴露文件在服務器上的物理地址.").或者直接在相對路徑上填".",一般
是默認。這樣攻擊者就能任意修改,執行目標服務器上的文件,不管他對這個文件有無讀寫訪問權。

所以那些提供有ASP服務的個人主頁或者其它服務的服務器,就要加倍小心這種攻擊了。

漏洞解決方法
其實Activer server explorer就是利用了上面講的漏洞4filesystemobject 組件篡改下載 fat 分區上的任何文件的
漏洞。
那么我們如何才能限制用戶使用FileSystemObject對象呢?一種極端的做法是完全反注冊掉提供FileSystemObject對象的那
個組件,也就是Scrrun.dll。具體的方法如下:

在MS-DOS狀態下面鍵入:

Regsvr32 /u c:windowssystemscrrun.dll

(注意:在實際操作的時候要更改成為你本地的實際路徑)

但是這樣的話,就不能使用FileSystemObject對象了,有時利用FileSystemObject對象來管理文件是很方便,有什么辦法能
兩全其美呢?

我們可以做到禁止他人非法使用FileSystemObject對象,但是我們自己仍然可以使用這個對象.
方法如下:
查找注冊表中

HKEY_CLASSES_ROOTScripting.FileSystemObject 鍵值

將其更改成為你想要的字符串(右鍵-->"重命名"),比如更改成為

HKEY_CLASSES_ROOTScripting.FileSystemObject2

這樣,在ASP就必須這樣引用這個對象了:

Set fso = CreateObject("Scripting.FileSystemObject2")

而不能使用:

Set fso = CreateObject("Scripting.FileSystemObject")

如果你使用通常的方法來調用FileSystemObject對象就會無法使用了。

只要你不告訴別人這個更改過的對象名稱,其他人是無法使用FileSystemObject對象的。這樣,作為站點管理者我們就杜絕了
他人非法使用FileSystemObject對象,而我們自己仍然可以使用這個對象來方便的實現網站在線管理等等功能了!

北斗有巢氏 有巢氏北斗