Skip to content

Instantly share code, notes, and snippets.

@subfission
Last active December 26, 2018 01:03
Show Gist options
  • Select an option

  • Save subfission/fea165af815568fb1d2e6d2e1fc52264 to your computer and use it in GitHub Desktop.

Select an option

Save subfission/fea165af815568fb1d2e6d2e1fc52264 to your computer and use it in GitHub Desktop.
CVE-2016-9244
package main
// sourced from https://filippo.io/Ticketbleed
import (
"crypto/tls"
"fmt"
"log"
"strings"
"os"
)
func main() {
if len(os.Args) !=2 {
fmt.Fprintf(os.Stderr, "Usage: %s target:port\n", os.Args[0])
os.Exit(1)
}
Target := os.Args[1]
conf := &tls.Config{
InsecureSkipVerify: true,
ClientSessionCache: tls.NewLRUClientSessionCache(32),
}
conn, err := tls.Dial("tcp", Target, conf)
if err != nil {
log.Fatalln("Failed to connect:", err)
}
conn.Close()
conn, err = tls.Dial("tcp", Target, conf)
if err != nil && strings.Contains(err.Error(), "unexpected message") {
fmt.Println(Target, "is vulnerable to Ticketbleed")
} else if err != nil {
log.Fatalln("Failed to reconnect:", err)
} else {
fmt.Println(Target, "does NOT appear to be vulnerable")
conn.Close()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment