a) Tiến hành khám phá công cụ tìm kiếm / trinh sát để tìm thông tin rò rỉ
Mục tiêu kiểm tra để biết những thiết kế nhạy cảm và thông tin cấu hình của ứng dụng web thông qua tiếp xúc trực tiếp (trên chính website đó ) hay gián tiếp (thông qua một trang web bên thứ ba )
• Robots.txt
File robots.txt ở dạng văn bản đặt ở mực mục gốc của trang web , để nói cho những công cụ tìm kiếm như Google những gì cần quét và những gì không cần quét trên trang web của bạn .
Tuy nhiên một số nhà quản trị trang web đưa thêm vị trí của Control Panel của trang webvào danh sách file để những công cụ tìm kiếm không quét tới đó . Như vậy nếu như bất kì ai ở được file robots.txt có thể xem được những thư mục không dùng tới trong phần “Disallow”.
mật an toàn ứng dụng web • Spider
Sử dụng các công cụ kiểm thử thủ công duyệt toàn bộ cấu trúc của website để tự động phát hiện ra các URL của một trang web .Lập danh sách URL ,biết được các liên kết gãy ,các tập tin mở rộng ….
• Sử dụng các toán tử tìm kiếm
Chắc hẳn rằng, ai trong chúng ta cũng từ quen thuộc với những cú pháp tìm kiếm thông dụng của Google. Áp dụng những cú pháp đó, có thể giúp mình ra kết quả nhanh hơn, chính xác hơn. Tuy nhiên, vài cú pháp sau đây thì thích hợp cho hacker hơn.
• Site :Là toán tử dùng để tìm kiếm thông tin trong một site. Điều này giúp chúng ta giới hạn phạm vi tìm kiếm lại. Ví dụ cú pháp site: uit.edu.vn sẽ giới hạn phạm vi tìm kiếm trong trang webuit.edu.vn
• Intitle:index of :Cú pháp này đã có dịp chúng ta sử dụng để tìm kiếm thư mục. Nó cũng được xem là cú pháp lợi hại dành cho hacker
• Error | Warning :Đây là hai cú pháp dùng để tìm kiếm thông tin lỗi. Một vài thông báo lỗi khi lập trình sẽ tạo một lỗ hổng cho hacker thừa cơ đột nhật.
• Login | Logon :Cú pháp dùng để tìm trang logon. Nó có thể chỉ là trang đâp nhập website bình thường, nhưng cũng có thể là trang đăng nhập vào một hệ thống đặc biệt hơn. Đứng trước cửa rồi, việc tấn công vào trong thế nào còn tùy thuộc vào nhiều thứ.
• Username | Userid | employerID | “your user name” :Đây là một loạt các cú pháp tìm kiếm user name để đăng nhật hệ thống. Tại sao chúng ta tìm được. Đó là do vài lỗi không để ý của người lập trình. Ví dụ anh ta vô tinh cho hiển thị thông báo “Tài khoản tranvanteo vẫn chưa kích hoạt”
• Password | Passcode | “Your password is” :cũng tương tự như cú pháp về username. Chúng ta dễ dàng tìm thấy nhưng câu thông báo đại loại như là “Your password is AHTlkYu”
• Admin | Administrator :Chúng ta có khoanh vùng tìm kiếm những thông tin có liên quan đến admin với từ khóa này. Những trang quản trị dành cho admin, những thông tin của admin, và nhiều thứ khác có liên quan đến admin. Kết hợp với chức năng cache của Google, hiệu quả công việc sẽ tăng lên.
• –ext:html –ext:htm –ext:shtml –ext:asp –ext:php :Và còn nhiều hơn nữa những cú pháp có liên quan đến –ext. Cú pháp này giúp chúng ta tìm thấy những file mà chúng ta muốn. Với hacker nhưng file đó có thể kể đến như php, html, bak, conf, sys…
• inurl:temp | inurl:tmp | inurl:backup | inurl:bak :Cũng giống như với ext, nhưng không tìm theo file nữa mà tìm theo thư mục. Những thư mục mà hacker quan tâm như temp, backup, admin, conf…
mật an toàn ứng dụng web
• intranet | help.desk :Thông tin có liên quan đến bộ phận helpdesk của công ty cũng không thể bỏ qua trong cuộc tấn công. Cú pháp này giúp chúng ta tìm thấy nhiều thông tin có liên quan đến bộ phận helpdesk.
b) Fingerprint Web Server
Phương thức mà xác định phiên bản và loại của một web server được gọi là Fingerprint Web Server.Phương thức xác định các lỗ hổng được biết đến và sử dụng cách khai thác thích hợp trong quá trình kiểm thử
Hình thức đơn giản và cơ bản nhất để xác định một web server là nhìn vào các trường Server trong HTTP response header.
Bảng II.4.1.b.1HTTP Request-Response: $ nc 202.41.76.251 80
HEAD / HTTP/1.0 HTTP/1.1 200 OK
Date: Mon, 16 Jun 2003 02:53:29 GMT Server: Apache/1.3.3 (Unix) (Red Hat/Linux) Last-Modified: Wed, 07 Oct 1998 11:18:14 GMT ETag: "1813-49b-361b4df6" Accept-Ranges: bytes Content-Length: 1179 Connection: close
Content-Type: text/html
Từ đây ta biết được web server là Apache ,phiên bản 1.3.3 ,Hệ điều hành Linux .
c) Phân tích mã nguồn trang
Trong một ứng dụng web có thể chứa hàng trăm ,hàng ngàn dòng mã lệnh .Và trong hầu hết các trường hợp ,thời gian để xem xét các dòng mã lệnh đó là có hạn nên ta chỉ tập trung chú ý đến các Title Tags ,thẻ meta , comment html
Comment HTML rất phổ biến đối với các lập trình viên để chú thích các chi tiết và dữ liệu trên mã nguồn của họ . Tuy nhiên những ý kiến đó có thể tiết lộ thông tin không cần thiết cho hacker để cho họ có thể hiểu rõ về ứng dụng hơn.