2012-10-02 31 views
7

thể trùng lặp:
Is it possible to execute PHP with extension file.php.jpg?Tại sao filename.php.jpg sẽ hoạt động như một tệp PHP?

tôi vô tình để lại một FileUpload để trang web của tôi, và nó đã bị hack (ME STUPID). Tin tặc đã tải lên tệp index.php.jpg bằng trình tải lên và chỉ cần truy cập trang web của tôi (đó là tập lệnh shell99), nhưng tôi không thể hiểu tại sao nó lại hoạt động. Ai đó đủ thông minh để giải thích điều này?

+5

Tệp có tên là 'index.php.jpg' hoặc' index.jpg.php' không? –

+0

Bởi vì trong thực tế _nobody_ quan tâm đến một phần mở rộng tập tin;) nó chỉ là một gợi ý về những gì _may_ được bên trong tập tin, nhưng không có gì nhiều hơn nữa. – KingCrunch

+0

Nếu nó là một .php bạn là một con khỉ ngớ ngẩn: P – Chris

Trả lời

8

Apache kiểm soát tiện ích mở rộng tệp nào có thể và không thể thực thi PHP. Điều này có thể được kiểm soát ở cấp độ máy chủ hoặc cấp trang web (chẳng hạn như với .htaccess).

Theo mặc định, tiện ích mở rộng .jpg nên không cho phép thực thi PHP. Có lẽ tên tệp thực sự là index.jpg.php và bạn đã đọc sai. Tuy nhiên, trong trường hợp tên tệp là thực sựindex.php.jpg, bạn sẽ cần xem xét tất cả các vị trí có thể và khóa cấu hình của mình để chỉ cho phép .php tiện ích mở rộng thực thi PHP.

+1

Đó là index.php.jpg, vì tập lệnh chỉ chấp nhận tệp có phần mở rộng .jpg hoặc .png. Tôi không có trang web trên một máy chủ mà tôi sở hữu, vì vậy tôi không có quyền truy cập vào cấu hình apache, vì vậy tôi sẽ hỏi điều này từ chủ sở hữu máy chủ- –

3

Tên tệp đã được giả mạo, với \ x000 được chèn vào, đánh dấu httpd hoặc .htaccess cũng được trồng để thi hành PHP cho tệp jpg.

+0

Thú vị. Cách hoạt động chính xác? Và làm thế nào có thể tránh được? – alexandernst

+2

Xin vui lòng, bạn có thể giải thích cho tôi những gì bạn có nghĩa là với \ x000. – donald123

Các vấn đề liên quan