Tiết lộ đường dẫn đầy đủ trên rss-tests.php


8

Tôi đã chạy một số thử nghiệm bảo mật trên các ứng dụng WordPress của mình và nhận thấy rằng tất cả chúng đều có một tiết lộ đường dẫn đầy đủ trên url sau. Tôi chắc chắn điều này đã được trả lời trước đây nhưng tôi không thể tìm thấy bất kỳ thông tin nào về điều này.

https://mydomains.com/wp-includes/rss-fiances.php

Thông báo lỗi khi đi đến liên kết là Gọi đến hàm không xác định _deprecated_file () trong /home/mydomain/public_html/wp-includes/rss-fifts.php trên dòng 8

Tôi không có bất cứ điều gì trong các chủ đề của tôi cho RSS.

Chỉnh sửa: Sau khi nghiên cứu thêm, đây dường như là một vấn đề phổ biến trên hầu hết các trang web WordPress. Các giải pháp mà tôi tìm thấy trực tuyến không thực sự sửa lỗi. Họ chỉ đơn giản nói để ẩn báo cáo lỗi trong php.ini. Điều đó không khắc phục được mặc dù và không phải ai cũng có quyền truy cập vào php.ini tùy thuộc vào tình hình lưu trữ của họ.


Đây không phải là một vấn đề bảo mật.
fuxia

4
Tôi không đông y vơi bạn. Đường dẫn đầy đủ là thông tin rất có giá trị cho những kẻ tấn công.
JediTricks007

Chỉ cần đảm bảo rằng các quyền của tệp được thiết lập chính xác và thông tin đó là vô ích đối với bất kỳ ai mà không có các quyền đó. Nếu trang web của bạn dễ bị tổn thương bằng cách lộ đường dẫn cục bộ, bạn có nhiều vấn đề quan trọng hơn nhiều.
fuxia

2
Quyền truy cập tập tin của tôi được đặt chính xác. Tôi không muốn điều này hiển thị và nghĩ rằng đó là một mối quan tâm hợp lệ. Tôi nghĩ rằng nếu tôi có thể ngăn chặn một cách dễ dàng để tìm thấy đường dẫn đầy đủ của trang web của tôi thì đó là một điều tích cực. Theo con cú, một số cuộc tấn công đòi hỏi kẻ tấn công phải biết đường dẫn đầy đủ mà chúng muốn xem. Vì vậy, không hiển thị thông tin cho kẻ tấn công là quan trọng.
JediTricks007

Câu trả lời:


5

Các tệp PHP trong thư mục bao gồm wp không thể truy cập được từ bên ngoài, chúng chỉ nên được bao gồm bởi mã wordpress. Cách khắc phục dễ dàng này là sử dụng các quy tắc .htaccess để chặn truy cập vào các tệp * .php nằm trong thư mục wp-gộp


1
Bạn có thể cho một ví dụ về .htaccess như vậy?
Lucas Bustamante

1

Đó thực tế là lựa chọn duy nhất, để vô hiệu hóa ghi nhật ký lỗi / cảnh báo php. Có 2 lựa chọn để làm điều đó và một lựa chọn khác không tốt lắm:

  • php.ini - trong hầu hết các lưu trữ, bạn có thể thay đổi php.ini (ngay cả trong lưu trữ được chia sẻ) - .htaccess
  • trực tiếp trong các tập tin php (không khuyến khích)

http://phphtml.info/how-to-fix-wordpress-iternal-pathfull-path-disclensesfpd-su/


0

Display_errors nên bị vô hiệu hóa trên một trang web sản xuất.

WP Scan truy cập wp-includes/rss-functions.phptrực tiếp và đây là mã nguồn, kể từ WordPress 4.9.7:

<?php
/**
 * Deprecated. Use rss.php instead.
 *
 * @package WordPress
 */
_deprecated_file( basename(__FILE__), '2.1.0', WPINC . '/rss.php' );
require_once( ABSPATH . WPINC . '/rss.php' );

Khi nó được truy cập trực tiếp, _deprecated_file()hàm không tồn tại, do đó nó sẽ gây ra lỗi nghiêm trọng.

Giải pháp là vô hiệu hóa display_errorsở cấp độ máy chủ. Nếu PHP của bạn chạy dưới mod_apache, bạn có thể làm điều đó bằng cách thêm dòng này vào tệp .htaccess chính của bạn:

php_flag display_errors off

Nếu bạn sử dụng PHP-FPM, có thể bạn sẽ ghi đè php.ini trong thư mục public_html cục bộ của bạn.

Ngoài ra, WordPress nhận thức được điều đó:

https://make.wordpress.org/core/handbook/testing/reporting-security-vulnerabilities/#why-are-there-path-disclosures-when-directly-loading-certain-files


-1

Về mặt lý thuyết, những gì tôi sắp nói với bạn là nguy hiểm và có lẽ không nên thực hiện, nếu bạn đang làm mọi thứ theo "cách Wordpress đúng đắn".

Thực tế , điều này làm việc cho môi trường sản xuất của chúng tôi.

Các tập tin rss-functions.phpkhông được chấp nhận và chuyển hướng đến rss.php.

Tệp rss.phpđã không được chấp nhận kể từ phiên bản 3.0.0 và các bình luận nội bộ khuyên bạn nên sử dụng SimplePie thay thế.

Vì vậy, tệp rss-functions.phpcó thể được xóa một cách an toàn miễn là bạn không có bản cài đặt cũ, cũ và nếu bạn không có plugin nào phụ thuộc vào tệp này.

Ngoài ra, nhận xét dòng 8 trong tập tin đó.


Từ quan điểm bảo mật, bạn chắc chắn cũng nên thực hiện đề xuất của @ MarkKaplun ở trên, vì tệp này không có ý định bị trình duyệt tấn công trực tiếp.


BTW, tôi đồng ý với bạn rằng việc tiết lộ toàn bộ đường dẫn là rủi ro bảo mật; chúng tôi giữ WEBROOT tại một đường dẫn tùy chỉnh vì lý do đó.


2
để tốt hơn và tồi tệ hơn, xóa hoặc thay đổi các tập tin cốt lõi không bao giờ là một giải pháp.
Đánh dấu Kaplun
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.