- vừa được xem lúc

Directory traversal vulnerabilities (phần 5)

0 0 21

Người đăng: Viblo Security

Theo Viblo Asia

VI. Tầm ảnh hưởng của các lỗ hổng Directory traversal

Giống với các lỗ hổng Information disclosure, các lỗ hổng Directory traversal giúp kẻ tấn công có thể thu thập nội dung các tệp tin nhạy cảm, mã nguồn chương trình một cách toàn vẹn và đầy đủ hơn. Là một bước cơ sở giúp họ có thể trực tiếp tìm kiếm các cách khai thác trong mã nguồn chương trình, hoặc xây dựng một cuộc tấn công Deserialize, ... Dạng lỗ hổng này hiện nay xuất hiện khá nhiều do chức năng đọc và hiển thị tệp tin là một trong những chức năng chính của các ứng dụng web, cách khai thác lỗ hổng đa dạng cũng như những đoạn code chưa thực sư "an toàn" trước sự đe dọa của dạng lổ hổng này. Các lỗ hổng Directory traversal còn có thể trực tiếp gây ra lỗi Local File Inclusion trong trường hợp nó ghi được vào file Log hay File environment, dẫn tới chiếm quyền điều khiển server.

VII. Công cụ hỗ trợ tìm kiếm các lổ hổng Directory traversal

Khi phát hiện một tính năng hiển thị nội dung tệp tin với tham số có thể thay đổi bởi người dùng. Chúng ta có thể nghĩ tới lỗ hổng Directory traversal.

  • Tính năng Intruder của Burp Suite

Bằng cách đặt vị trí tấn công tại mục Positions:

Chúng ta có thể lựa chọn hình thức tấn công bằng kỹ thuật fuzzing. Tại mục Payloads, chọn Add from list, ở đây có hai danh sách fuzzing sẵn có của Burp Suite:

Hoặc có thể tự sử dụng cheat sheet của mình bằng cách chọn Load items from file:

VIII. Các phương pháp ngăn ngừa lỗ hổng Directory traversal

Nhiều ứng dụng web không thể tránh khỏi việc tiếp nhận các yêu cầu tham số từ người dùng để hiển thị nội dung tệp tin, chúng ta có thể sử dụng các phương hướng phòng ngừa dạng lỗ hổng này như sau:

  • Kiểm tra giá trị input từ người dùng với white list là danh sách các giá trị hợp lệ, cho phép hiển thị nội dung tới giao diện người dùng. Đồng thời kết hợp việc tìm kiếm các ký tự nhạy cảm trong input người dùng như :, /, %, ../, ..\, ...

  • Đối với nhân viên vận hành và bảo trì hệ thống, sau khi triển khai hệ thống hoặc cài đặt phần mềm, ứng dụng mới, nên chủ động tìm kiếm các lỗ hổng Directory trong hệ thống thông qua các công cụ scan web vulnerabilitis và cố gắng không cài đặt phần mềm chưa rõ tính bảo mật từ bên thứ ba.

  • Máy chủ web cũng cần được cấu hình hợp lý (phân quyền thư mục, nghiêm cấm duyệt thư mục, ...) và luôn chú ý đến việc phát hành các phần mềm và ứng dụng khác nhau được sử dụng, đồng thời nâng cấp các phiên bản phần mềm mới kịp thời.

  • Phòng chống lỗ hổng Directory traversal trong Apache: Đối với Apache, quản trị viên có thể sửa đổi tệp cấu hình để cấm người dùng thực hiện traversal các thư mục và danh sách tệp. Ví dụ quản trị viên có thể sửa đổi tệp httpd.conf trong thư mục conf.

  • Phòng chống lỗ hổng Directory traversal trong Nginx:

Tệp nginx.conf config lỗi:

location /files { alias /home/; }

Chúng ta chỉ cần thay đổi location /files thành /files/ sẽ có thể ngăn chặn lỗ hổng Directort traversal trong server nginx.

Tài liệu tham khảo

Bình luận

Bài viết tương tự

- vừa được xem lúc

Path Traversal - Hãy Phân Quyền Một Cách Đúng Đắn

Tiếp nối sau OS Command thì chắc hẳn vấn đề về lọc dữ liệu và phân quyền thư mục vẫn là sơ sót tạo tiền đề để OS Command có thể thực hiện được nhanh chóng hơn nếu như không được thực hiện phân quyền 1

0 0 245

- vừa được xem lúc

Directory traversal vulnerabilities (phần 4)

V. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp). 5. Bypass lỗ hổng khi trang web sử dụng đường dẫn đầy đủ.

0 0 34

- vừa được xem lúc

Directory traversal vulnerabilities (phần 3)

V. Phân tích và khai thác các lỗ hổng Directory traversal. 1. Lỗ hổng xảy ra khi sử dụng các hàm đọc file và tin tưởng đầu vào người dùng.

0 0 25

- vừa được xem lúc

Directory traversal vulnerabilities (phần 2)

III. Vì sao lỗ hổng Directory traversal xuất hiện. 1. Lỗ hổng Directory traversal trong ngôn ngữ PHP.

0 0 32

- vừa được xem lúc

Directory traversal vulnerabilities (phần 1)

I. Mở đầu. 1. Giới thiệu.

0 0 25

- vừa được xem lúc

Cây tìm kiếm nhị phân

Như mình đã trình bày trong bài viết trước, tìm kiếm nhị phân trên một mảng thể hiện sự hiệu quả. Tuy nhiên, hiệu suất của việc tìm kiếm trên mảng bị giảm đi rất nhiều khi dữ liệu trong tập dữ liệu th

0 0 26