Maison > cadre php > PensezPHP > Enregistrez la vulnérabilité getshell de thinkphp5.0 et 5.1

Enregistrez la vulnérabilité getshell de thinkphp5.0 et 5.1

藏色散人
Libérer: 2020-08-12 13:51:53
avant
5245 Les gens l'ont consulté

Ce qui suit est une introduction à la vulnérabilité getshell de thinkphp5.0 et 5.1 de la colonne du didacticiel du framework thinkphp. J'espère que cela sera utile aux amis dans le besoin. !

Enregistrez la vulnérabilité getshell de thinkphp5.0 et 5.1

Le site Web a été élevé auparavant, à cette époque, le site Web n'a été construit qu'il y a quelques jours. Personne ne devrait le faire exprès. analyse par lots de getshell, afin de me faciliter la recherche. Le système open source thinkcmf a créé un blog, qui avait l'air plutôt bien, car thinkcmf a été développé en utilisant le framework thinkphp5.0. Je suis allé sur thinkphp.cn et j'ai pris un. regardez, et il s’est avéré qu’il y avait une vulnérabilité d’élévation de privilèges.

Les modules, contrôleurs et méthodes du fichier libaray/think/app.php se distinguent par /.

Ensuite, le contrôleur n'est pas filtré, ce qui permet de construire et d'exécuter diverses fonctions

Enregistrez la vulnérabilité getshell de thinkphp5.0 et 5.1

Enregistrez la vulnérabilité getshell de thinkphp5.0 et 5.1

Enregistrez la vulnérabilité getshell de thinkphp5.0 et 5.1

J'ai construit un hôte virtuel localement pour tester http://cmf.com

Construire une url d'accès, qui peut directement imprimer phpinfo :

http://cmf.com/index.php?s=portal/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
Copier après la connexion

Enregistrez la vulnérabilité getshell de thinkphp5.0 et 5.1

Ensuite, vous pouvez remplacer phpinfo par d'autres fonctions, comme utiliser la fonction file_put_content pour créer divers fichiers malaisiens et poneys.

La méthode officielle du correctif 5.0 de TP est :

Ajouter thinkApp

if (!preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) {
    throw new HttpException(404, 'controller not exists:' . $controller);
}
Copier après la connexion
module après le code pour obtenir le contrôleur dans la méthode
de la classe

Le La version de thinkcmf utilisée est : ThinkCMF 5.0.180901

Ensuite, j'ai vérifié le site officiel de thinkcmf et il a été mis à jour vers 5.0.190111. La dernière version a également mis à jour tp5.0 vers la dernière version 5.0.24. , qui inclut une mise à jour de sécurité, il n'existe bien sûr pas de vulnérabilité d'élévation de privilèges de ce type.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal