Tải bản đầy đủ (.doc) (4 trang)

Web Hacking, Brief Introduction

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (62.49 KB, 4 trang )

Web Hacking, Brief Introduction :
trang này đã được đọc lần
Trong thời đại hiện nay khi internet được phổ biến rộng rãi, các tổ chức, cá nhân đều có nhu cầu giới thiệu
thông tin của mình trên xa lộ thông tin cũng như thực hiện các cuộc giao dịch buôn bán online. Vấn đề nảy
sinh là khi phạm vi ứng dụng của các web application ngày càng phổ biến thì khả năng xuất hiện lỗi và bị tấn
công càng cao. Trong các lĩnh vực hacking, hack web application là sân chơi khá lý thú cho những ai yêu thích
computer security.
Thông thường, những bước cơ bản khi thực hiện hack web bao gồm như sau - các bước này không nhất thiết
phải thực hiện tuần tự mà tùy vào điều kiện của chúng ta.
1. Thu thập thông tin ở mức trên về hạ tầng của mục tiêu
Bước này ta cần thu thập một số thông tin quan trọng như có bao nhiêu server, mô hình của các web server,
các client nào sẽ tương tác với ứng dụng web, kiểu giao tiếp thông tin (transport) và thông qua các cổng
(port) nào, những site liên quan đến việc thực hiện chức năng của site mục tiêu....
2. Khảo sát ứng dụng web
Ở đây tôi chỉ mô tả một trong những phương pháp khảo sát khá phổ biến từ trước đến giờ, đó là Xem mã
nguồn và lợi dụng các lỗi cho phép xem mã nguồn.Một số ngôn ngữ web thông dụng hiện nay có nhiều lỗi
này như Active Server Pages (ASP),Common Gateway Interface (CGI), ColdFusion Server (CFM), Hypertext
Preprocessor (PHP).
Bài viết này tôi chỉ đề cập đến 1 bug đã có từ lâu nhưng thấy vẫn còn nhiều site mắc phải, đó là lỗi liên quan
đến CGI design cho phép view source và file system traversal. Hãy xem ví dụ sau:
/>Ở đây index.cgi được gọi với tham số truyền vào là trang contact.htm (HTML file) nó sẽ đọc và hiện nội dung
của trang này lên client browser. Tuy nhiên nếu người viết cgi không kiểm tra kĩ lưỡng, ta có thể lợi dụng để
xem chính nội dung của file index.cgi hay các trang khác. Ví dụ sau ta sẽ thay contact.htm bằng index.cgi:

Ở đây ta gặp 1 thông báo lỗi "error: No such file or directory
/web/guide/earthdayalliance/www/content/index.cgi", nguyên nhân là thực tế index.cgi không nằm trong thư
mục hiện hành (tức là ../www/content/) mà nằm ở www, do đó ta sẽ chỉnh lại link 1 chút bằng 1 dot dot
slash, như sau:

Chạy link này ta sẽ thấy nội dung của index.cgi được show trên browser. Việc xem được source có thể giúp ta
tìm hiểu kĩ càng hơn về web app, thậm chí nếu may mắn có thể xem được những thông tin quan trọng khác.


Lệnh sau là 1 ví dụ dùng lỗi này để xem file etc/passwd trong unix server:

Đây chỉ là 1 ví dụ nhỏ, còn khai thác hay hạn chế thế nào thì tùy khả năng của mỗi người.
Các bạn có thể tìm các site bị lỗi này bằng cách dùng www.google.com, search từ khóa liên quan, chẳng hạn
như: "index.cgi?page="
Đây là vài link tôi tìm thấy, các bạn có thể tham khảo:


































.....
Lưu ý các site trên chưa được thông báo về lỗi này.
3. Tấn công các web server
4. Tấn công vượt qua các cơ chế kiểm soát (authentication, authorization)
Bao gồm các phương pháp như đoán mật khẩu, làm việc - thay đổi thông tin cookies, các kĩ thuật directory
traversal, leo thang đặc quyền, các phương pháp tấn công dựa vào SQL, SQL injection...
5. Tìm hiểu sâu về các chức năng của ứng dụng web
Tìm hiểu cách thực hiện của các phần trong ứng dụng, đặc biệt như các order input, confirmation, order
tracking. Ở đây ta có thể áp dụng các phương pháp như SQL Injection, input validation...
6. Tìm hiểu luồng di chuyển của thông tin
Các thông tin tương tác giữa client và server, các thông tin tương tác với database. Hiện nay việc viết mã để
thực hiện việc giao tiếp thông tin thường phải đảm bảo được tính hiệu quả (nhanh),và bảo mật (có thể sẽ
chậm hơn). Thường thì tính hiệu quả được ưu tiên hơn do đó có thể sẽ phát sinh lỗi trong quá trình đó và
giúp hacker có thể lợi dụng các lỗi như SQL input...để đoạt quyền điều khiển hệ thống.
7. Tấn công trang của người quản lý hệ thống
8. Tấn công client
9. Thực hiện tấn công từ chối dịch vụ Denial-of-Service (DoS)
Đây là cách cuối cùng khi các phương pháp trên không thực hiện thành công.
Phần này cần các bạn có kiến thức chút đỉnh về Unix.
Bước tiếp theo là khai thác khả năng command execution từ client browser thông qua HTTP port.
Ở đây các bạn chú ý các kí tự đặc biệt hữu ích khi ta cần thực hiện lệnh trong URL, đó là: newline character

(%0a), pipe (%7c), semicolon (%3b), ampersand (%26). Newline char cho phép ta ngắt các lệnh ra thành
nhiều dòng khi thực hiện, dùng khi ta kết nhiều lệnh cùng trên cùng 1 dòng; pipe dùng để kết nối nhiều lệnh
unix với nhau, tương tự với semicolon; ampersand thường dùng để ngăn cách các tham số truyền vào câu
lệnh...Các bạn tự tìm hiểu kĩ hơn các thông tin này.
Tiếp theo vd ở post đầu, đó là:
Bây giờ ta thử gọi 1 lệnh liệt kê thông tin thư mục của unix (ls):

Ta sẽ thấy browser liệt kê ra các file, thư mục có trong thư mục hiện hành của trang web, đại khái như sau:
[badurl.htm contact.txt content count_file edcpressrelease.htm greentemplate.htm guestbook images
index.cgi newtemplate.htm registercircle.txt search.html template.htm templates welcome.htm wwwboard ]
Nếu muốn biết rõ hơn về thông tin của file, như quyền hạn, ngày tháng...ta dùng lệnh ls -la, cụ thể URL sẽ là:
/>Một vd của việc khai thác tiếp theo: ta thấy thư mục wwwboard, đây là 1 dạng webforum đơn giản, ta xem
thử nội dung thư mục này:

Ở đây ta sẽ thấy liệt kê ra content của forum này, trong đó có 1 file passwd.txt, ta muốn xem nội dung file
này, chỉ việc thực hiện:

Lưu ý ta thêm /../ phía trước vì muốn lùi 1 cấp trở về thư mục cha.
Thế là bạn vừa xem được pass admin của forum dạng này.
Đây là 1 thông tin tìm hiểu khác:

Liệt kê các user trong server này:

.....
Bước khai thác kế tiếp dành cho các bạn: Thực hiện nhiều câu lệnh, get shell... Chúc thành công.
Các công cụ có thể áp dụng trong web hacking các bạn có thể tìm hiểu ở trang:

Một tài liệu nhỏ về web hacking khác (đây là tài liệu English, đọc bằng chương trình Microsoft
powerpoint trong bộ Microsoft Office): webhacking.zip
Tôi sẽ giới thiệu các bạn 1 thủ thuật nho nhỏ để tạo 1 file dạng text khi ta có thể run được command trên

remote server. Cách này có thể áp dụng với cả nt và unix. Với NT, tôi đã từng thực hiện thành công khi hack
các server hosting controller trước đây, khi đó tôi dùng cách này để tạo 1 file script ftp, sau đó gọi lệnh ftp để
chạy script này.
Ở đây tôi sẽ nêu ví dụ tạo 1 link cho site bị lỗi CGI File System Traversal tôi đã post.
Các bạn theo dõi link sau:
,
ta sẽ thấy nó liệt kê ra nội dung của file passwd (đã shadowed). Vì site này có tên là nestingeagles.com nên
tôi sẽ search "nestingeagles" trong list vừa liệt kê trong passwd, ta sẽ thấy:
....
marlonsand:*:354:102:,,,,:/mnt/web/guide/turboprofits:/bin/false
bibscalp:*:356:102:,,,,:/mnt/web/guide/bibscalpproducts:/bin/suspended
nestingeagle:*:357:102:,,,,:/mnt/web/guide/nestingeagles:/bin/bash
twostr:*:359:102:,,,,:/mnt/web/guide/twostreetmusic:/bin/suspended
srinc:*:361:102:,,,,:/mnt/web/guide/summationresearch:/bin/false
....
Ta chú ý đến đường dẫn của website này: : /mnt/web/guide/nestingeagles, từ đây ta sẽ dùng lệnh ls để xem
nó, như sau:
,
nó sẽ liệt kê các thông tin về thư mục và file của site này, tìm hiểu thêm ta sẽ biết được main
index của site nằm trong /wwwfp/, ta lại liệt kê: />%20/../../../../mnt/web/guide/nestingeagles/wwwfp| . Ok, bây giờ ta có thể thực hiên các lệnh tạo,
xóa...main index của website trong thư mục này. Ta sẽ thử tìm cách tạo link a.htm.
Lệnh tôi giới thiệu ở đây là echo. Lệnh echo sẽ hiện 1 message ra standard output hoặc ra file.
Command dùng trong trường hợp này như sau: echo [message] >> [filename], nếu muốn thêm vào file
có sẵn, bạn chỉ việc gọi tiếp lệnh echo với file đã có, nhưng với message (nội dung) khác.
/>mnt/web/guide/nestingeagles/wwwfp/a.htm|
Nếu thành công, bạn sẽ thấy link sau:
Bây giờ các bạn thấy lệnh echo hữu dụng thế nào rồi chứ, ta có thể tạo link mà chẳng cần tool gì remote cả
ngoại trừ browser.
Lưu ý các bạn khi test nên tránh dùng các lệnh xoá dữ liệu hoặc tạo file đè mất các file người ta
có sẵn, cũng đừng nên quá lạm dụng lệnh để tạo nhiều link sẽ sớm bị phát hiện.


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×