it-swarm.com.de

Vollständige Pfadangabe auf rss-functions.php

Ich habe einige Sicherheitstests für meine WordPress-Apps durchgeführt und festgestellt, dass alle eine vollständige Pfadangabe in der folgenden URL enthalten. Ich bin mir sicher, dass dies bereits beantwortet wurde, aber ich kann keine Informationen dazu finden.

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

Die Fehlermeldung beim Aufrufen des Links lautet Call to undefined function _deprecated_file () in /home/mydomain/public_html/wp-includes/rss-functions.php in Zeile 8

Ich habe nichts in meinen Themen für RSS.

Bearbeiten: Nach weiteren Recherchen scheint dies ein häufiges Problem auf den meisten WordPress-Sites zu sein. Die Lösungen, die ich online gefunden habe, beheben den Fehler nicht. Sie sagen einfach, dass sie die Fehlermeldung in der php.ini verstecken sollen. Das behebt es jedoch nicht und nicht jeder hat Zugriff auf die php.ini, abhängig von seiner Hosting-Situation.

8
JediTricks007

PHP-Dateien im Verzeichnis wp-includes sollten nicht von außen zugänglich sein, sie sollten nur per WordPress-Code eingebunden werden. Eine einfache Lösung hierfür ist die Verwendung von .htaccess-Regeln, um den Zugriff auf * .php-Dateien zu blockieren, die sich im Verzeichnis wp-includes befinden

5
Mark Kaplun

Das ist praktisch die einzige Möglichkeit, die PHP-Fehler-/Warnprotokollierung zu deaktivieren. Es gibt zwei Möglichkeiten und eine andere, die nicht so gut ist:

  • php.ini - in den meisten Fällen können Sie php.ini ändern (auch in Shared Hosting) - .htaccess
  • direkt in PHP-Dateien (nicht empfohlen)

http://phphtml.info/how-to-fix-wordpress-internal-pathfull-path-disclosurefpd-issue/

1
adiian

Display_errors sollte auf einer Produktionswebsite deaktiviert sein.

WP Scan greift direkt auf wp-includes/rss-functions.php zu, und dies ist der Quellcode ab 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' );

Wenn direkt darauf zugegriffen wird, ist die Funktion _deprecated_file() nicht vorhanden, sodass ein schwerwiegender Fehler ausgegeben wird.

Die Lösung besteht darin, display_errors auf Serverebene zu deaktivieren. Wenn Ihr PHP unter mod_Apache ausgeführt wird, können Sie dies tun, indem Sie diese Zeile zu Ihrer .htaccess-Hauptdatei hinzufügen:

php_flag display_errors off

Wenn Sie PHP-FPM verwenden, müssen Sie wahrscheinlich die Datei php.ini in Ihrem lokalen public_html-Ordner überschreiben.

Auch WordPress ist sich dessen bewusst:

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

0