Rate this post

Phần mở rộng tệp thường được sử dụng trong máy chủ web để dễ dàng xác định công nghệ, ngôn ngữ và plugin nào phải được sử dụng để đáp ứng yêu cầu web. Mặc dù hành vi này nhất quán với RFC và Tiêu chuẩn web, việc sử dụng phần mở rộng tệp tiêu chuẩn cung cấp cho người kiểm tra thâm nhập thông tin hữu ích về các công nghệ cơ bản được sử dụng trong thiết bị web và đơn giản hóa đáng kể nhiệm vụ xác định kịch bản tấn công được sử dụng trên các công nghệ cụ thể. Ngoài ra, cấu hình sai của máy chủ web có thể dễ dàng tiết lộ thông tin bí mật về thông tin xác thực truy cập.

Kiểm tra phần mở rộng thường được sử dụng để xác thực các tệp sẽ được tải lên, điều này có thể dẫn đến kết quả không mong muốn vì nội dung không như mong đợi hoặc do việc xử lý tên tệp hệ điều hành không mong muốn.

Việc xác định cách máy chủ web xử lý các yêu cầu tương ứng với các tệp có phần mở rộng khác nhau có thể giúp hiểu được hành vi của máy chủ web tùy thuộc vào loại tệp được truy cập. Ví dụ: nó có thể giúp hiểu được phần mở rộng tệp nào được trả về dưới dạng văn bản hoặc đơn giản so với những phần mở rộng gây ra thực thi phía máy chủ.

Sau đó là chỉ báo về công nghệ, ngôn ngữ hoặc plugin được sử dụng bởi máy chủ web hoặc máy chủ ứng dụng và có thể cung cấp thêm thông tin chi tiết về cách ứng dụng web được thiết kế. Ví dụ: phần mở rộng “.pl” thường được liên kết với hỗ trợ Perl phía máy chủ. Tuy nhiên, chỉ riêng phần mở rộng tệp có thể là lừa đảo và không hoàn toàn có thể kết luận. Ví dụ: các tài nguyên phía máy chủ Perl có thể được đổi tên để che giấu sự thật rằng chúng thực sự có liên quan đến Perl. Xem phần tiếp theo về “các thành phần máy chủ web” để biết thêm về cách xác định các công nghệ và thành phần phía máy chủ.

Mục tiêu kiểm tra File Extensions Handling

Tiện ích mở rộng tệp nhạy cảm Dirbust hoặc các tiện ích mở rộng có thể chứa dữ liệu thô (ví dụ: tập lệnh, dữ liệu thô, thông tin đăng nhập, v.v.).

Xác thực rằng không tồn tại các bỏ qua khung hệ thống trên các quy tắc đã đặt.

Làm thế nào để kiểm tra File Extensions Handling

Forced Browsing

Gửi yêu cầu với các phần mở rộng tệp khác nhau và xác minh cách chúng được xử lý. Việc xác minh phải trên cơ sở từng thư mục web. Xác minh các thư mục cho phép thực thi tập lệnh. Các thư mục máy chủ web có thể được xác định bằng các công cụ quét tìm kiếm sự hiện diện của các thư mục nổi tiếng. Ngoài ra, sao chép cấu trúc trang web cho phép người thử nghiệm tạo lại cây thư mục web được ứng dụng cung cấp.

Nếu kiến ​​trúc ứng dụng web được cân bằng tải, điều quan trọng là phải đánh giá tất cả các máy chủ web. Điều này có thể dễ dàng hoặc không, tùy thuộc vào cấu hình của cơ sở hạ tầng cân bằng. Trong cơ sở hạ tầng có các thành phần dư thừa, có thể có một số thay đổi nhỏ trong cấu hình của các máy chủ ứng dụng hoặc web riêng lẻ. Điều này có thể xảy ra nếu kiến ​​trúc web sử dụng các công nghệ không đồng nhất (hãy nghĩ đến một tập hợp các máy chủ web IIS và Apache trong cấu hình cân bằng tải, có thể tạo ra hành vi không đối xứng nhẹ giữa chúng và có thể có các lỗ hổng khác nhau).

Ví dụ

Người kiểm tra đã xác định được sự tồn tại của một tệp có tên là connect.inc. Cố gắng truy cập trực tiếp vào nó sẽ trả về nội dung của nó, đó là:

<?
    mysql_connect("127.0.0.1", "root", "password")
        or die("Could not connect");
?>

Người kiểm tra xác định sự tồn tại của phần cuối MySQL DBMS và thông tin xác thực (yếu) được ứng dụng web sử dụng để truy cập nó.

Máy chủ web không bao giờ được trả lại các phần mở rộng tệp sau vì chúng liên quan đến các tệp có thể chứa thông tin nhạy cảm hoặc đến các tệp không có lý do gì để được cung cấp.

  • .asa
  • .inc
  • .config

Các phần mở rộng tệp sau đây có liên quan đến các tệp, khi được truy cập, sẽ được trình duyệt hiển thị hoặc tải xuống. Do đó, các tệp có các phần mở rộng này phải được kiểm tra để xác minh rằng chúng thực sự an toàn.

  • .zip, .tar, .gz, .tgz, .rar, v.v.: (nén) tệp lưu trữ
  • .java: Không có lý do gì để cung cấp quyền truy cập vào các tệp nguồn Java
  • .txt: Tệp văn bản
  • .pdf: Tài liệu PDF
  • .docx, .rtf, .xlsx, .pptx, v.v.: Tài liệu văn phòng
  • .bak, .old và các phần mở rộng khác cho biết tệp sao lưu (ví dụ: ~ đối với tệp sao lưu Emacs)

Danh sách đưa ra ở trên chỉ chi tiết một số ví dụ, vì phần mở rộng tệp có quá nhiều để được xử lý toàn diện ở đây. Tham khảo FILExt để có cơ sở dữ liệu đầy đủ hơn về các tiện ích mở rộng.

Để xác định các tệp có phần mở rộng nhất định, có thể sử dụng kết hợp các kỹ thuật. Những kỹ thuật này có thể bao gồm Máy quét lỗ hổng, công cụ thêu và phản chiếu, kiểm tra ứng dụng theo cách thủ công (điều này khắc phục những hạn chế trong việc ghép tự động), truy vấn công cụ tìm kiếm (xem Thử nghiệm: Thêu và googling). Xem thêm Kiểm tra các tệp cũ, sao lưu và không tham chiếu để giải quyết các vấn đề bảo mật liên quan đến tệp “bị quên”.

File Upload

Xử lý tệp kế thừa của Windows 8.3 đôi khi có thể được sử dụng để đánh bại các bộ lọc tải tệp lên.

Ví dụ sử dụng:

  • file.phtml được xử lý dưới dạng mã PHP.
  • FILE ~ 1.PHT được phục vụ, nhưng không được xử lý bởi trình xử lý PHP ISAPI.
  • sh
  • ell.phPWND có thể được tải lên.
  • SHELL ~ 1.PHP sẽ được mở rộng và trả về bởi hệ điều hành shell, sau đó được xử lý bởi trình xử lý PHP ISAPI.

Gray-Box Testing

Thực hiện kiểm tra hộp trắng đối với việc xử lý phần mở rộng tệp giúp kiểm tra cấu hình của máy chủ web hoặc máy chủ ứng dụng tham gia vào kiến trúc ứng dụng web và xác minh cách chúng được hướng dẫn để phân phát các phần mở rộng tệp khác nhau.

Nếu ứng dụng web dựa trên cơ sở hạ tầng không đồng nhất, cân bằng tải, hãy xác định xem điều này có thể tạo ra các hành vi khác nhau hay không.

Công cụ kiểm tra File Extensions Handling

Các máy quét lỗ hổng bảo mật, chẳng hạn như Nessus và Nikto kiểm tra sự tồn tại của các thư mục web nổi tiếng. Chúng có thể cho phép người thử nghiệm tải xuống cấu trúc trang web, điều này rất hữu ích khi cố gắng xác định cấu hình của các thư mục web và cách phân phát các phần mở rộng tệp riêng lẻ. Các công cụ khác có thể được sử dụng cho mục đích này bao gồm:

  • wget
  • curl
  • google for “web mirroring tools”.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now