ID c?a bài: 194801 - L?n xem xét sau cùng: 20 Tháng Tám 2011 - Xem xét l?i: 2.0

Ho?t đ?ng các trang web máy ch? tr? v? l?i th?i gian ch?y VBScript '800a01ad'

M?o H? th?ngThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

? Trang này

Bung t?t c? | Thu g?n t?t c?

TRI?U CH?NG

Vi?c s? d?ng c?a CreateObject đ? t?o ra m?t thành ph?n COM trong m?t trang Active Server Pages (ASP) có th? d?n đ?n l?i sau:
L?i th?i gian ch?y Microsoft VBScript '800a01ad'
ActiveX thành ph?n không th? t?o đ?i tư?ng
L?i này thư?ng đư?c t?o ra b?i v? thư vi?n liên k?t đ?ng (dll) mà trên đó các đ?i tư?ng COM ph? thu?c là m?t trong nh?ng đi?u sau đây:
  • Thi?u t? h? th?ng
  • Không có trong đư?ng d?n h? th?ng
  • Không th? truy c?p b?ng h? th?ng v? thi?t đ?t b?o m?t

THÔNG TIN THÊM

M?i ngư?i trong s? nh?ng l? do nêu trên áp d?ng cho DLL th?c hi?n các đ?i tư?ng COM c?ng như b?t k? ph? thu?c DLLs. Ví d?, n?u m?t DLL COM t?nh liên k?t đ?n m?t DLL Win32 và Win32 DLL là m?t tích t? các h? th?ng, m?t 800a01ad l?i đư?c t?o ra.

Có r?t nhi?u cách đ? xác đ?nh ph? thu?c c?a DLL. Trong s? này là các Depends.exe công c?, v?n chuy?n v?i các n?n t?ng ph?n m?m phát tri?n Kit (SDK) và Developer Studio 98, và ti?n ích DUMPBIN, mà đ? đư?c cài đ?t v?i Visual C++.

Các t?p tin sau đây có s?n đ? t?i v? t? Microsoft Trung tâm t?i v?:

Thu g?n h?nh ?nh nàyBung r?ng h?nh ?nh này
T?i v?
T?i v? Dependsia64version2.1.3623.exe gói bây gi?. (http://download.microsoft.com/download/visualfoxpro7/Utility/2.1/W9X2KMeXP/EN-US/Dependsia64version2.1.3623.exe)
Thu g?n h?nh ?nh nàyBung r?ng h?nh ?nh này
T?i v?
T?i v? Dependsx86version2.1.3623.exe gói bây gi?. (http://download.microsoft.com/download/visualfoxpro7/Utility/2.1.3623/W9X2KMeXP/EN-US/Dependsx86version2.1.3623.exe)

Ngày phát hành: June 25,2002

Đ? có thêm thông tin v? làm th? nào đ? t?i các t?p tin h? tr? c?a Microsoft, b?m s? bài vi?t sau đ? xem bài vi?t trong cơ s? ki?n th?c Microsoft:
119591  (http://support.microsoft.com/kb/119591/ ) Làm th? nào đ? có đư?c Microsoft h? tr? t?p tin t? các d?ch v? tr?c tuy?n
Microsoft đã quét vi-rút cho tệp này. Microsoft đã sử dụng phần mềm dò tìm vi-rút mới nhất hiện có vào ngày tệp được đăng. Các t?p tin đư?c lưu tr? trên tăng cư?ng b?o m?t máy ch? có th? giúp ph?ng ng?a b?t k? thay đ?i không đư?c phép đ? các t?p tin. Đ? bi?t thêm chi ti?t v? công c? này, h?y truy c?p ph? thu?c Walker Web site sau:
http://www.dependencywalker.com (http://www.dependencywalker.com)
Microsoft cung cấp thông tin liên hệ của bên thứ ba để giúp bạn tìm kiếm trợ giúp kỹ thuật. Thông tin liên hệ này có thể thay đổi mà không thông báo. Microsoft không bảo đảm độ chính xác về thông tin liên hệ của bên thứ ba này.

S? d?ng Depends, ch? đơn gi?n là ch?y công c? và m? t?p DLL trong câu h?i. S? d?ng DUMPBIN đ? xem các ph? thu?c, ch?y sau m?t d?u nh?c l?nh "dumpbin /IMPORTS <name of="" dll="">". Các ti?n ích Depends có l?i th? là hi?n th? ph? thu?c c?a ph? thu?c. Nó s? xu?t hi?n r?ng nhanh xem trong Windows Explorer s? hi?n th? thông tin tương t?, nhưng nó đ? đư?c quan sát th?y r?ng thông tin th? hi?n không ph?i là luôn luôn đ?y đ?. </name>

Thông tin thêm v? m?i ngư?i trong s? các có th? nguyên nhân sau:

DLL thi?u t? h? th?ng

DLL th?c hi?n các đ?i tư?ng COM ph?i t?n t?i trên h? th?ng và đăng k? v?i đư?ng d?n chính xác. T?o ra s? th?t b?i c?a m?t đ?i tư?ng COM là không đư?c đăng k? ? t?t c? th?c s? s? t?o ra m?t l?i khác nhau:
H? ph?c v? đ?i tư?ng l?i ' ASP 0177: 800401f3'

Ki?m ch?ng r?ng đư?ng d?n trong registry là chính xác, ch?y chương tr?nh RegEdit và t?m ki?m PROGID (t?m th?y trong các cu?c g?i CreateObject). T? các PROGID m?c nh?p, ghi l?i ho?c sao chép CLSID vào b?ng t?m và đ?nh v? các m?c nh?p cho CLSID. M?c nh?p này nên ch?a m?t InprocServer32, v?i m?t đư?ng d?n đ?n key DLL. Sau đây minh ho? d?ng ch?y c?a quá tr?nh này:
   (from the asp file)
   set obj = Server.CreateObject("BadComponent.Badguy")

   (from RegEdit)
   HKEY_CLASSES_ROOT\BadComponent.BadGuy\CLSID
      {683DA7E0-5C73-11D2-80F6-0000F87A8236}

   HKEY_CLASSES_ROOT\CLSID\{683DA7E0-5C73-11D2-80F6-0000F87A8236}\ 
      InprocServer32 E:\Programs\COMPON~1\BADCOM~1\Debug\BADCOM~1.DLL
				

Các l?nh sau ch?y t? m?t d?u nh?c l?nh s? xác minh s? t?n t?i c?a t?p này:
   E:\>cd E:\Programs\COMPON~1\BADCOM~1\Debug
   E:\Programs\COMPON~1\BADCOM~1\Debug>dir BADCOM~1.DLL

   10/14/98  11:18a               241,739 BadComponent.dll

                  1 File(s)        241,739 bytes
                             2,038,755,328 bytes free
				

N?u có đư?ng d?n đư?c ch? đ?nh trong s? đăng k? cho DLL, DLL ph?i t?n t?i trong đư?ng d?n h? th?ng.

M?t DLL COM có th? ph? thu?c khác ngoài Win32 DLLs đư?c t?nh liên k?t (DUMPBIN và Depends.exe hi?n th? DLLs t?nh liên k?t). Ví d?, m?t đ?i tư?ng COM có th? g?i LoadLibrary() và g?i ch?c năng trong m?t Win32 DLL. Tương t? như v?y, s? ki?m soát có th? t?o ra các đ?i tư?ng COM đư?c ch?a trong riêng DLLs. B?t k? các dll có th? không có trong b?ng, không đúng đăng k?, trên không truy nh?p đư?c do đ? b?o m?t. Đi?u này s? cho k?t qu? trong m?t l?i th?i gian ch?y có th? ho?c có th? không đư?c b?t g?p trong vi?c t?o ra s? ki?m soát. Tr? v? S_FALSE t? phương pháp FinalConstruct() c?a m?t đi?u khi?n ATL có th? mô ph?ng m?t Ví d? c?a đi?u khi?n th?t b?i như v?y m?t cách trong sáng t?o. Đi?u này gi? đ?nh LoadLibrary() ho?c CoCreateInstance() th?t b?i trong FinalConstruct(), và các l?p tr?nh viên đ? ch?n đ? ki?m tra cho đi?u này và tr? l?i S_FALSE. L?i đư?c t?o ra trong trư?ng h?p này s? đư?c tương t? như sau:
l?i 'ASP 0115'
L?i b?t ng?
/badguy.asp
Có m?t trappable l?i trong m?t đ?i tư?ng bên ngoài. Các k?ch b?n không th?
ti?p t?c ch?y.
H? ph?c v? đ?i tư?ng l?i ' ASP 0115: 8000ffff'

S? th?t b?i c?a lo?i này s? không t?o ra m?t l?i 800a01ad.

DLL không có trong đư?ng d?n h? th?ng

H? th?ng ph?i có kh? năng t?m th?y ph? thu?c DLLs (t?nh liên k?t) DLL đó th?c hi?n các đ?i tư?ng COM đư?c t?o ra. B?ng cách s? d?ng DUMPBIN ho?c Ph? thu?c, xác đ?nh nh?ng g? đang có DLLs ph? thu?c. Xác minh r?ng t?t c? các DLL đang ho?c trong cùng m?t thư m?c như COM DLL ho?c trong đư?ng d?n h? th?ng.

DLL không th? truy c?p b?ng h? th?ng v? thi?t đ?t b?o m?t

Khi m?t khách hàng yêu c?u m?t trang Active Server Pages (ASP) t? m?t máy ch?, các ASP trang ch?y trong m?t b?i c?nh an ninh ph? thu?c vào phương pháp xác th?c đư?c s? d?ng đ? truy c?p vào máy ch? Web. Ví d?, yêu c?u chưa xác đ?nh ngư?i ch?y các b?i c?nh c?a IUSR_MACHINENAME nơi MACHINENAME là tên c?a b?n máy tính. Đ? bi?t thông tin v? các phương pháp xác th?c và an ninh cân nh?c, h?y tham kh?o tài li?u IIS. Đi?u này có ngh?a trong đi?u kho?n c?a m?t l?i 800a01ad là xác th?c ngư?i dùng ph?i có quy?n truy c?p (thông qua NTFS t?p quy?n) COM DLL và t?t c? ph? thu?c DLLs.

M?t phương pháp shotgun có th? đư?c s? d?ng đ? xác đ?nh n?u đi?u này là nguyên nhân c?a các v?n đ?. B?ng cách s? d?ng Windows Explorer, ch?n thu?c tính cho t?p DLL COM, ch?n tab b?o m?t, và grant "t?t c? m?i ngư?i" ít đ?c quy?n truy c?p vào các DLL. làm tương t? cho các DLL ph? thu?c và thư m?c có ch?a các Dll. Đi?u này s? lo?i b? b?t k? h?n ch? b?o m?t mà có th? ?nh hư?ng đ?n vi?c t?o ra các đ?i tư?ng COM. An ninh có th? đư?c th?t ch?t sau khi nó là xác đ?nh r?ng đây là v?n đ?. H?y nh?, nhi?u ngư?i trong s? ph? thu?c DLL h? th?ng Windows dll và s? có ít "t?t c? m?i ngư?i đ?c" truy c?p đ?. Không nh?m l?n tháo truy c?p này khi "th?t ch?t" các an ninh.

(c) t?p đoàn Microsoft 1998, t?t c? các quy?n. Nh?ng đóng góp c?a Robert E. công tư?c, Microsoft Corporation.


Áp d?ng
  • Microsoft Internet Information Services 5.0
T? khóa: 
kberrmsg kbprb kbsecurity kbmt KB194801 KbMtvi
Máy d?chMáy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:194801  (http://support.microsoft.com/kb/194801/en-us/ )