刘功瑞的博客

有一天你突然惊醒,发现这一切,都只不过是一场梦。

攻防世界 XCTF Reverse SignIn Writeup

image.png

image.png

看着像rsa

image.png

分解n :103461035900816914121390101299049044413950405173712170434161686539878160984549 = p*q = 282164587459512124844245113950593348271 *  366669102002966856876605669837014229419

以为这个函数是加密函数

image.png

image.png

最后发现其实是十进制转十六进制的算法。。。。

# encoding=utf-8
import gmpy2

# gmpy2报错没事。。。
c = int('ad939ff59f6e70bcbfad406f2494993757eee98b91bc244184a377520d06fc35', 16)
n = 103461035900816914121390101299049044413950405173712170434161686539878160984549
e = 65537
p = 282164587459512124844245113950593348271
q = 366669102002966856876605669837014229419

phi = (p - 1) * (q - 1)
d = gmpy2.invert(e, phi)
m = pow(c, d, n)
flag = hex(m)[2:] 
flag = flag.decode("hex")
print(flag)
#suctf{Pwn_@_hundred_years}


发表评论:

Powered By Z-BlogPHP 1.5.2 Zero

Copyright www.liugongrui.com.All Rights Reserved.