Directory Listing

Một phần của tài liệu Quy trình đánh giá an toàn và bảo mật website (Trang 36)

Lỗ hổng Directory Listing xuất hiện nếu quản trị viên không cấu hình cho web server để ngăn chặn truy cập vào các danh sách thư mục.

Khi một website bị mắc lỗi này, nếu người dùng truy cập vào một đường link thuộc website mà đó là một thư mục (http://abc.com/folder/), tất cả các tên file trong thư mục đó sẽ bị hiển thị trên trình duyệt người dùng.

Directory Listing không quá nguy hiểm, nhưng sẽ gây hậu quả khó lường khi thư mục bị lộ có chứa các file bí mật mà quản trị không muốn người dùng bình thường nhìn thấy, chẳng hạn các file log, file cấu hình hoặc các file chứa những thông tin nhạy cảm.

mật an toàn ứng dụng web

II.4.6 QUY TRÌNH KIỂM TRA CÁC VẤN ĐỀ QUẢN LÝ PHIÊN CỦA ỨNG DỤNG WEB. ỨNG DỤNG WEB.

a) Kiểm thử Session Fixation

Session Fixation là một kỹ thuật cho phép hacker có thể chiếm đoạt session của người dùng. Kỹ thuật này lợi dụng việc server không thay đổi giá trị của session ID mỗi khi người dùng đăng nhập, thay vào đó nó sử dụng session ID sẵn có trước đó. Quá trình tấn công bao gồm việc lấy một session ID hợp lệ (có thể bằng cách truy cập vào website), sau đó tìm cách để nạn nhân đăng nhập vào website với session ID này, cuối cùng, khi nạn nhân đăng nhập thành công, hacker sẽ duyệt website với tài khoản của anh ta.

Các cách sau để hacker set cookie cho victim : • Gửi kèm theo một đoạn script để set cookie

• Gửi gói tin HTTP Response kèm theo giá trị cookie của hacker

• Sử dụng thẻ meta của HTML: <meta http-equiv=Set-Cookie content

=“PHPSESSID=1234”>

Cách kiểm tra : kiểm tra cookie trước và sau khi đăng nhập vào hệ thống ,nếu sessionID không thay đổi và không có thêm cookie mới thì ứng dụng web dễ bị tấn công Session Fixation .

b) Kiểm thử CSRF

CSRF ( Cross Site Request Forgery) là kĩ thuật tấn công bằng cách sử dụng quyền chứng thực của người sử dụng đối với 1 website khác. Các ứng dụng web hoạt động theo cơ chế nhận các câu lệnh HTTP từ người sử dụng, sau đó thực thi các câu lệnh này.

Hacker sử dụng phương pháp CSRF để lừa trình duyệt của người dùng gửi đi các câu lệnh http đến các ứng dụng web. Trong trường hợp phiên làm việc của người dùng chưa hết hiệu lực thì các câu lệnh trên sẽ dc thực hiện với quyền chứng thực của người sử dụng.

Kịch bản tấn công CSRF

Người dùng Alie duyệt qua 1 diễn đàn yêu thích của mình như thường lệ. Một người dùng khác, Bob đăng tải 1 thông điệp lên diễn đàn. Giả sử rằng Bob có ý đồ k tốt và anh ta muốn lấy tiền từ những người có tài khoản tại ngân hàng như Alie . Bob sẽ tạo 1 thông báo, trong đó có chèn 1 đoạn code như sau:

mật an toàn ứng dụng web

eBank vừa công bố lãi xuất mới….<img height=0″ width=”0″

src=”http://eBank.com/withdraw?

account=bob_id&amount=1000000&for=Alie_ id”/>

Bảng II.4.6.a.1 Ví dụ CSRF

Đoạn mã trên dc che giấu rất khéo léo, thứ nhất nó thêm các thông điệp bình thường để người dùng không chú ý. Thứ hai thẻ “<img” sử dụng trong trường hợp này có kích thước 0x0 pixel và người dùng sẽ không thể thấy dc. Giả sử Alie vừa mới truy cập vào tài khoản ngân hàng của mình và chưa thực hiện logout để kết thúc. Trình duyệt của Alie sẽ gửi câu lệnh HTTP GET đến địa chỉ lưu trong thẻ “<img” trong đoạn mã trên và nó sẽ dc thực hiện bằng quyền chứng thực của Alie .

Cách kiểm tra :

Lỗi này nằm ở chỗ các request sẽ insert,delete và update vào CSDL (VD: Xóa bài viết)

Cần Kiểm tra kĩ các action này xem có lỗi không

Có thể sử dụng một action đó , xây dựng một html có chứa thông tin yêu cầu http của action .

Đảm bảo cho người dùng hợp lệ đăng nhập ,và liên kết tới url thử nghiệm Quan sát kết quả ,tức là kiểm tra xem các máy chủ web thực hiện yêu cầu .

Một phần của tài liệu Quy trình đánh giá an toàn và bảo mật website (Trang 36)