BUUCTF 23~26 wp

23 主动防御
首先拼接三段数据,然后与i异或,得到提示

然后连续十次base64编码,提示“found”

实际上并没有找到flag,而是一个网址
回到View-A视图,发现一个交叉引用

跟进发现关键字符‘f’,‘g’,逆推出v1,异或得出flag

24 Transform
将输入的flag放进Str,长度为33,如果414040的数据和Str的第40F040的数据相同,则继续i循环比较

25 linux upx
使用linux的upx -d脱壳,得到答案

26 大数比较
先输入flag,然后使用__gmpz_init_set_str函数(结果,目标字符串,目标字符串进制),将字符串转化为数值
分别转换四个数值,然后使用其中三个进行__gmpz_powm(结果,底数,指数,取mod),得到的结果再和另一个比较

使用python求解

其中涉及rsa加密的计算

posted @ 2024-06-06 10:03  ha1u0n  阅读(18)  评论(0)    收藏  举报