- Access Control Lists (ACLs)
- Root directory
Những gì tin tặc có thể làm nếu website của bạn có lỗ hổng
Với một hệ thống tồn tại lỗ hổng directory traversal, tin tặc có thể lợi dụng nó để tìm ra chỉ mục gốc và truy cập một phần của file hệ thống. Điều này cho phép tin tặc xem những file bị giới hạn hay nguy hiểm hơn là tin tặc có thể thực thi những lệnh mạnh trên máy chủ, dẫn đến xâm hại hoàn toàn hệ thống. Tin tặc sẽ thực thi những lệnh giả mạo thành thành viên của trang web. Do đó kiểu tấn công hoàn toàn phụ thuộc vào cách thiết đặt người dùng trang web được phép truy cập những gì trong hệ thống.Ví dụ về tấn công Directory Traversal thông qua Code ứng dụng web
Trong ứng dụng web với những trang động, đầu vào luôn nhận từ trình duyệt thông qua phương thức request GET và POST. Đây là ví dụ về HTTP GET request URLGET HTTP/1.1 Host: test.webarticles.comVới URL này, trình duyệt yêu cầu một trang động show.asp từ máy chủ và kèm theo một thông số view với giá trị từ oldarchive.htm từ file hệ thống của máy chủ, sau đó gửi quay trở lại trình duyệt hiển thị với người dùng. Tin tặc cho rằng show.asp có thể dẫn được đến file từ file hệ thống và gửi một URL sau:
Lệnh trên khiến trang web động nhận file system.ini từ hệ thống và hiển thị nó đến người dùng. Dấu ../ định hướng hệ thống tiến lên một chỉ mục. Tin tặc có thể đoán cần vượt qua bao nhiêu chỉ mục để tìm được thư mục Windows trên hệ thống thông qua nhiều lần thử và thông báo lỗi.GET HTTP/1.1 Host: test.webarticles.com
Ví dụ về tấn công Directory Traversal thông qua máy chủ web
Ngoài lỗ hổng trong code, máy chủ web cũng có thể tồn tại lỗ hổng tấn công Directory Traversal. Vấn đề này có xảy ra tại những phần mềm đi kèm máy chủ hoặc những file script có sẵn. Lỗ hổng được vá trong những phiên bản phần mềm máy chủ web mới nhất nhưng vẫn có nhiều máy chủ trực tuyến sử dụng phiên bản ISS và Apache cũ. Một vài lỗ hổng trong script mặc định cũng là nơi tin tặc tìm đến. Ví dụ, một URL request sử dụng chỉ mục script của IIS để duyệt chỉ mục và thực thi lệnh:Yêu cầu này sẽ trả về cho người dùng một danh sách toàn bộ file trong chỉ mục C:\ bằng cách thực thi cmd.exe và dir c:\ . Kí tự %5c thể hiện trong URL request là một escape code để thể hiện một kí tự thông thường. Trong trường hợp này %5c đại diện cho \. Những phiên bản mới hơn của máy chủ kiểm tra escape code và không cho phép chúng thực hiện. Một vài phiên bản cũ hơn không lọc được code này trong chỉ mục gốc khiến tin tặc thực hiện được những lệnh khác nhau.GET \ HTTP/1.1 Host: server.com
Làm thế nào để kiểm tra lỗ hổng Directory Traversal
Cách tốt nhất để kiểm tra liệu trang web hay ứng dụng web có tồn tại lỗ hổng Directory Traversal là sử dụng Web Vulnerability Scanner. Nó sẽ giúp bạn quét toàn bộ trang web và tự động kiểm tra lỗ hổng. Sau đó báo cáo và bạn có thể dễ dàng sửa chữa. Bên cạnh lỗ hổng Directory Traversal, Web Vulnerability Scanner còn tìm ra những SQL Injection, Cross-site Scripting và những lỗ hổng khác.Ngăn ngừa tấn công Directory Traversal
Trước hết, đảm bảo rằng bạn cài đặt máy chủ web với phần mềm mới nhất, các bản vá có sẵn đã được áp dụng. Thứ hai, cần có bộ lọc cho bất kì dữ liệu đầu vào từ người dùng.acunetix
[…] tệp nén được tạo thủ công một cách đặc biệt, chứa các tên tệp dạng directory traversal (vd. ../../evil.sh). Lỗ hổng có thể ảnh hưởng rất nhiều định dạng lưu trữ, […]