Skip to content

Instantly share code, notes, and snippets.

@grocid
Created September 23, 2017 22:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save grocid/703fd534c1859846abab8ea83d828596 to your computer and use it in GitHub Desktop.
Save grocid/703fd534c1859846abab8ea83d828596 to your computer and use it in GitHub Desktop.
BackdoorCTF1 7 - COMPLEX-RSA
from Crypto.PublicKey import RSA
from base64 import b64decode
from grocid import wiener
key1 = """MIIBGjANBgkqhkiG9w0BAQEFAAOCAQcAMIIBAgKBgQMVTKLNRDmtl+A4elFMl78h
DPdfO88mJZRoO7U85plIEt9qGVXET58S6ZwqaYy5fw5H6OjRSKfzRy0rTeJUEK3y
HkmLubRmWgxm2NJm/yBjfqzycY2aWcHEo88CLwvyjVOJ1YZB892ZTvL/+ktw09OY
6UhCAPh3kwYQE6jtByzXfwJ8GhtIw6bOSmr248t4xV+sf1kpb0G7EeWKMB+40vPE
frsV+j5o6fd/jFI5O+IiF13kp7xV2Z1RgBtaHb5y3W7/rlI586RI0+nvWqHJVF4a
OEkYm+Y8Sf47lJJU1CDZgXZ3p9tK0fP135mzJX3WBMVyzuJeQ8JpQ8/RZJGAOw=="""
key2 = """MIGhMA0GCSqGSIb3DQEBAQUAA4GPADCBiwKBgQMVTKLNRDmtl+A4elFMl78hDPdf
O88mJZRoO7U85plIEt9qGVXET58S6ZwqaYy5fw5H6OjRSKfzRy0rTeJUEK3yHkmL
ubRmWgxm2NJm/yBjfqzycY2aWcHEo88CLwvyjVOJ1YZB892ZTvL/+ktw09OY6UhC
APh3kwYQE6jtByzXfwIFCLugZRk="""
keyDER = b64decode(key1)
keyPub = RSA.importKey(keyDER)
n1 = keyPub.n
e1 = keyPub.e
keyDER = b64decode(key2)
keyPub = RSA.importKey(keyDER)
n2 = keyPub.n
e2 = keyPub.e
# d = 26303119241915216199594566239456133498871761271858884214528771406917554649451
d = wiener(e1*e2)
f = open("flag.enc", "r")
flag = hex(pow(int(f.read().encode("hex"), 16), d, n1)).strip("0x").strip("L").decode("hex")
print flag
print hashlib.sha256(flag).hexdigest()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment