Je dépanne un problème de plugin Wordpress. C'est un plugin qui génère un fichier Zip de fichiers existants sur le serveur et renvoie un lien pour télécharger le fichier.
Le plugin
https://wordpress.org/plugins/sp-client-document-manager/
Le module complémentaire qui est la source du problème.
http://smartypantsplugins.com/downloads/sp-client-document-manager-batch-operations/
Le plugin crée un répertoire pour enregistrer le fichier Zip généré en utilisant AUTH_KEY comme nom du répertoire. Lorsque l'URL est renvoyée au client, elle contient AUTH_KEY dans le chemin.
$Zip_path = '' . SP_CDM_UPLOADS_DIR_URL . '' . AUTH_KEY. '/'
Cela renvoie une URL similaire à celle-ci:
http://www.example.com/wp-content/uploads/sp-client-document-manager/{the_wordpress_auth_key}/0123456789.Zip
Si l'un des caractères de AUTH_KEY n'est pas autorisé dans une URL, le téléchargement retournera un 404. Cela se produit, mais cela peut facilement être corrigé en remplaçant AUTH_KEY par une chaîne qui fonctionne dans une URL. Mon inquiétude est le fait qu'il contienne le AUTH_KEY.
Est-ce que révéler l'AUTH_KEY en soi est un motif de préoccupation?
AUTH_KEY
et ses frères ont été introduits dans WordPress 2.6 pour améliorer la sécurité des utilisateurs connectés. Ils sont utilisés pour chiffrer et valider les informations contenues dans votre cookie de connexion backend.
Bien que révéler le AUTH_KEY
seul puisse ne pas être un réel problème de sécurité, vous ne devez néanmoins pas sortir/utiliser ceci n'importe où pour donner moins de surface aux attaques.
De plus, je ne vois pas pourquoi vous utiliseriez le AUTH_KEY
pour préparer un lien de dossier/téléchargement. Je pense qu'il serait bien préférable d'utiliser quelque chose comme time()
pour générer des noms de dossiers si vous voulez un caractère aléatoire ou unique, ou quoi que ce soit sans compromettre la sécurité du système.
Mise à jour: J'ai ouvert un fil de discussion dans la zone de support des plugins. Voyons si l'auteur répond à cela.