Khai thác lỗ hổng của Unicode trong Microsoft IIS, Hack server - Pdf 73

Khai thác lỗ hổng của Unicode trong Microsoft IIS, Hack server
trang này đã được đọc lần
Microsoft IIS là một phần mềm web server. Nó chứa tất cả file của một website, và làm chúng có
hiệu lực cho mọi người dùng trên internet. Nhưng như tất cả các phần mềm khác, (đặc biệt là
của Microsoft) nó có lỗ hỏng bảo mật Unicode trong IIS của Microsoft, nhưng "không may"
những người quản trị thì lại không quan tâm đến việc cài đặt những patch fix lỗi đó. Trong bài
hướng dẫn này, ta thảo luận về cách mà lỗi này hoạt động, và Tại sao nó hoạt động được.
Khi bạn viếng thăm một website, địa chỉ của file bạn hiện giờ đang xem sẽ giống như sau:
/>Đây là remote address của web server, hiển thị trên thanh address của trình duyệt. Bất kỳ ai
cũng có thể truy cập nó trên internet. Khi vào site này, web server sẽ đưa cho bạn file index,
(index.html hay ) của root folder web server. Hầu hết những root folder của một web server là:
C:\inetpub\wwwroot
Đây là thư mục local của web servers, nơi cất giữ tất cả các trang chính của website. Vì vậy nếu
bạn gõ địa chỉ sau:
/>Ở trình duyệt, web server sẽ đưa cho bạn local file của nó:
c:\inetpub\wwwroot\index.html
Tôi hy vọng bạn sẽ không quá nhàm chán, việc quan trọng nhất là bạn phải hiểu được sự khác
nhau giữa địa chỉ local và remote.
Bây giờ, cái gì sẽ xảy ra nếu ta muốn di chuyển một cặp thư mục lên web server?
Ta muốn di chuyển từ
c:\inetpub\wwwroot
Đến
c:\
Chúng ta sẽ làm như thế nào?
Bạn không thể gõ
/>Web server sẽ bắt đầu đi qua c:\inetpub\wwwroot (local)
Đối với những thư mục riêng, và do bạn không thể có : trong thư mục, nó sẽ đỗ vỡ và bạn nhận
được thông báo lỗi trong trình duyệt.
Tiếc quá! nó lại không hoạt động.
Nếu đã quen với FTP, thì bạn cũng biết lệnh DIRUP dùng để làm gì.
Lệnh để đi đến một thư mục ở trên là

của bạn! Nhưng chúng ta sẽ quay lại vấn đề này sau.
Thứ hai, khi server giải mã /..%5C.. %5C/
Nó sẽ thành /../../ mà lại bị hạn chế, và sau đó từ chối yêu cầu. Vì thế ta cần phải làm gì, hay mã hoá
Unicode đã mã hóa rồi một lần nữa. Có thể bạn sẽ không theo tôi ngay bây giờ, nhưng tôi sẽ cố gắng giải
thích một lần nữa. Ta cần mã hoá mọi ký tự của chuỗi Unicode đã có.
Xem bảng dưới sẽ hiểu hơn.
ASCII..........................UNICODE
%................................ %25
5................................. %35
C................................. %43
Vì vậy khi ta mã hóa ký tự ASCII
/..%5C.. %5C/
Sang Unicode, ta được
..%25%35%43..%25%35%43
Và khi server đọc chuỗi ký tự này, nó sẽ trở lại
/..%5C.. %5C/ Đó không phải là lệnh DIRUP bình thường, nên nó được cho phép.
Nhưng có một vài thứ chúng ta cần biết. Như tôi đã đề cập ở trước, khi bạn kết nối đến một web server, thư
mục root mặc định là
wwwroot
. Thư mục này những trang chính của site. Nhưng có những thư mục khác cho
những trang web như yếu tố scripts. Những thư mục này có chứa file mà có khá nhiều thứ quan trọng trong
web server. Vì vậy khi vận dụng server, ta cần làm nó từ thư mục mà ta đã có đặc quyền để làm. Điều này
không khó; Tôi chỉ muốn bạn hiểu tại sao tôi thêm /scripts/ vào cuối URL.
Rốt cuộc, khi ta thi hành lệnh ở dấu nhắc server’s local dos prompt, ta cần thi hành một lệnh cũng trong cái
này. Ta muốn hiển thị c:\ ? Dễ thôi; ta chỉ cần làm vài thủ thuật khác hơn bạn thường làm ở dấu nhắc dos.
Bắt đầu cmd.exe theo cách sau:
cmd.exe?/c+
? = Mọi thứ sau dòng đối số của lệnh.
/c = Thi hành lệnh, sau đó đóng cmd.exe (để cho nó không chạy mãi)
+ = Thay thế cho khoảng trống


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status