J'exécutais un test de sécurité sur mes applications WordPress et j'ai remarqué que toutes ont une divulgation complète du chemin sur l'URL suivante. Je suis sûr que cela a déjà été répondu, mais je ne trouve aucune information à ce sujet.
https://mydomains.com/wp-includes/rss-functions.php
Le message d'erreur lorsque vous accédez au lien est Appel à une fonction non définie _deprecated_file () dans /home/mydomain/public_html/wp-includes/rss-functions.php sur la ligne 8
Je n'ai rien dans mes thèmes pour RSS.
Edit: Après de nouvelles recherches, cela semble être un problème commun sur la plupart des sites WordPress. Les solutions que j'ai trouvées en ligne ne corrigent pas réellement l'erreur. Ils disent simplement de cacher le rapport d'erreur dans le php.ini. Cela ne le résout pas et tout le monde n'a pas accès au php.ini en fonction de sa situation d'hébergement.
Réponses:
Les fichiers PHP dans le répertoire wp-includes ne doivent pas être accessibles de l'extérieur, ils ne doivent être inclus que par du code wordpress. Pour cela, une solution simple consiste à utiliser les règles .htaccess pour bloquer l'accès aux fichiers * .php qui se trouvent dans le répertoire wp-includes
la source
C'est pratiquement la seule option, pour désactiver la journalisation des erreurs / avertissements php. Il y a 2 options pour le faire et une autre qui n'est pas si bonne:
http://phphtml.info/how-to-fix-wordpress-internal-pathfull-path-disclosurefpd-issue/
la source
Les erreurs d'affichage doivent être désactivées sur un site Web de production.
WP Scan accède
wp-includes/rss-functions.php
directement, et c'est son code source, à partir de WordPress 4.9.7:Lorsqu'elle est accessible directement, la
_deprecated_file()
fonction n'existe pas, elle génère donc une erreur fatale.La solution consiste à désactiver
display_errors
au niveau du serveur. Si votre PHP fonctionne sous mod_apache, vous pouvez le faire en ajoutant cette ligne à votre fichier .htaccess principal:Si vous utilisez PHP-FPM, vous devrez probablement remplacer php.ini dans votre dossier public_html local.
De plus, WordPress en est conscient:
https://make.wordpress.org/core/handbook/testing/reporting-security-vulnerabilities/#why-are-there-path-disclosures-when-directly-loading-certain-files
la source
Théoriquement, ce que je suis sur le point de vous dire est dangereux et ne devrait probablement pas être fait si vous faites les choses de la bonne manière Wordpress.
Pratiquement , cela fonctionne pour notre environnement de production.
Le fichier
rss-functions.php
est obsolète et redirige versrss.php
.Le fichier
rss.php
est obsolète depuis la v3.0.0 et les commentaires internes recommandent d'utiliser plutôt SimplePie.Ainsi, le fichier
rss-functions.php
peut être supprimé en toute sécurité tant que vous n'avez pas une ancienne installation héritée et si vous n'avez pas de plugins qui dépendent de ce fichier.Vous pouvez également commenter la ligne 8 de ce fichier.
Du point de vue de la sécurité, vous devez également mettre en œuvre la suggestion de @ MarkKaplun ci-dessus, car ce fichier n'est pas destiné à être atteint directement par le navigateur.
BTW, je suis d'accord avec vous que divulguer le chemin complet est un risque pour la sécurité; nous gardons WEBROOT à un chemin personnalisé pour cette raison.
la source