BUUCTF RE [SUCTF2019] SignIn
好 今日我们来刷ctf
查看文件发现是64位的文件 无壳 用ida64位打开它
发现gmpz_init_set_str,gmpz_powm这类函数
去搜一搜资料发现是GNU 高精度算法库 gmp文档资料
GMP(The GNU Multiple Precision Arithmetic Library)又叫GNU多精度算术库,是一个提供了很多操作高精度的大整数,浮点数的运算的算术库,几乎没有什么精度方面的限制,功能丰富。我刚接触到这个东西的时候是在学习PHP的过程中。GMP的主要目标应用领域是密码学的应用和研究、 互联网安全应用、 代数系统、 计算代数研究等。
一般用来搞密码学,比如像RSA之类的
int mpz_init_set_str (mpz t rop, const char *str, int base)
//rop = str(转为base进制数)
void mpz_powm (mpz t rop, const mpz t base, const mpz t exp, const mpz t [Function] mod)
//rop = base^exp%mod
mpz_powm像极了RSA
公钥加密”
密文 = 明文的e次幂模上n
公式:c = m^e mod n
那这题就是
v6 = v6^v5 % v4
密文v6 要等于 v7
v7 = 0xad939ff59f6e70bcbfad406f2494993757eee98b91bc244184a377520d06fc35
v5 = 65537
v4 = 103461035900816914121390101299049044413950405173712170434161686539878160984549
c = 0xad939ff59f6e70bcbfad406f2494993757eee98b91bc244184a377520d06fc35
e = 65537
n = 103461035900816914121390101299049044413950405173712170434161686539878160984549
c 密文
m 明文
e 公钥
d 私钥
q,p 俩质数
.\yafu-x64.exe "factor(103461035900816914121390101299049044413950405173712170434161686539878160984549)"
p = 282164587459512124844245113950593348271
q = 366669102002966856876605669837014229419
import binascii
import gmpy2n = int("103461035900816914121390101299049044413950405173712170434161686539878160984549")
p = gmpy2.mpz(282164587459512124844245113950593348271)
q = gmpy2.mpz(366669102002966856876605669837014229419)
e = gmpy2.mpz(65537)
phi_n = (p - 1)*(q - 1)
d = gmpy2.invert(e,phi_n)
c = gmpy2.mpz(0xad939ff59f6e70bcbfad406f2494993757eee98b91bc244184a377520d06fc35)
m = pow(c, d, n)
m_hex = hex(m)[2:]
print(binascii.a2b_hex(m_hex).decode(encoding="utf8"))
#suctf{Pwn_@_hundred_years}
BUUCTF RE [SUCTF2019] SignIn相关推荐
- buuctf——(SUCTF2019)SignIn
1.查壳. 无壳,64位文件. 2.丢到IDA中反编译. 3.分析代码.最后是比较v6和v7 关键是_gmpz_powm这个函数 网搜了下,发现都是英文(枯了枯了),就求助了一下大佬. 这个函数和__ ...
- BUUCTF reverse题解汇总
本文是BUUCTF平台reverse题解的汇总 题解均来自本人博客 目录 Page1 Page2 Page3 Page4 Page1 easyre reverse1 reverse2 内涵的软件 新年 ...
- REVERSE-PRACTICE-BUUCTF-7
REVERSE-PRACTICE-BUUCTF-7 Youngter-drive [ACTF新生赛2020]rome [FlareOn4]login [SUCTF2019]SignIn Youngte ...
- BUUCTF:[BJDCTF2020]signin
1.打开发现是16进制数,一转码发现就是flag.
- [buuctf] crypto全解——前84道(不建议直接抄flag)
buuctf crypto 1.MD5 2.Url编码 3.一眼就解密 4.看我回旋踢 5.摩丝 6.[BJDCTF 2nd]签到-y1ng 7.password 8.变异凯撒 9.Quoted-pr ...
- 庆祝祖国成立72周年 做点题目之 BUUCTF Crypto 刷题
BUUCTF 刷题之 Crypto 部分wp 大二了,事情很多,省赛在即,速刷题,强技能,展风采! 文章目录 BUUCTF 刷题之 Crypto 部分wp 一.这是什么 二.[HDCTF2019]bb ...
- BUUCTF的Web真题学习整理(一)
目录 WEB1-WarmUp (任意文件包含漏洞) WEB2-高明的黑客(fuzz脚本) WEB3-easy_tornado (服务端模板注入(ssti攻击)) WEB4-Hack World(时间盲 ...
- gitlab不小心把sign-in取消了怎么恢复
环境和版本 [root@linux-node1 etc]# ll /var/cache/yum/x86_64/7/gitlab-ce/packages/ total 292928 -rw-r--r-- ...
- BUUCTF寒假刷题-Web
前言 寒假横向刷题(尽量) BUUCTF
最新文章
- lamp wordpress
- Android异步加载
- VC++ 进程间通信方法总结
- SEO三种职位类型:编辑型SEO、技术型SEO、营销型SEO详解
- android radiobutton_时隔一年,用新知识重构一个Android控件老库
- 页面间传输中文的乱码解决方法
- Java面试必问JVM调优,那.NET5呢?
- jzoj3847-都市环游【矩阵乘法】
- extjs 月份选择控件_Ext JS 4实现带week(星期)的日期选择控件(实战二)
- pthread_join()函数理解实验
- Linux四剑客详解——sed
- Windows自带利器:Rundll.exe高级应用
- java混淆书籍介绍,第二代Java混淆器Allatori功能介绍教程资源
- VMware如何开机自动启动虚拟机也启动
- hexo+yilia添加背景图片
- 最新版百度地图实现导航和语音播报(亲测有效)
- 董明珠“跳槽不用” VS雷军“复仇者联盟”,人才在内还是在外?
- 央行数字货币(数字人民币)DCEP
- 无线路由器(WIFI)经常掉线断网的可能的原因
- 三十而立的用友,未来的路将向何方?
热门文章
- 存在正文时不允许未命名的原型参数_用Swift开发macOS程序, 六、原型、格式与开发说明...
- 进制转换之二进制与十进制转换
- 如何理解蕴含式的真假?
- validation检查框架
- 华为服务器gpu芯片,GPU服务器推荐
- 网络教育专升本统考计算机分值,网教统考科目计算机应用基础之文字处理部分如何提高分数?...
- CloseableHttpClient设置Timeout 设置超时时间
- ThinkPad开机停留在boot menu界面、进不了系统的解决方法
- liferay开发环境搭建
- 2019最新《Python从入门到精通之30天快速学Python教程 》