Bugku刷题记录(四)

目录

你喜欢下棋吗

小山丘的秘密 

黄道十二官

简单的rsa


你喜欢下棋吗

给了个加密的压缩包以及解压密码,解压密码里头提示下棋,故猜测是棋盘加密,回顾下棋盘密码(Polybius):

加密表:
12345
1abcde
2fghi,jk
3lmnop
4qrstu
5vwxyz

 加密示例:23 15 31 31 34 ==》hello

利用在线工具解的密码:

得到:

一开始以为是二进制,转字符串却得不到什么东西,再看到提示5bit的编码,搜搜看,了解到新的密码:博多密码,学习 ,利用在线网站解出flag:

改成小写即可,注意那个看起来像o的其实是0。

小山丘的秘密 

 

山丘的英语hill,对应希尔密码,一般规则是A=0,B=1......,但这里说A=1,那么Z对应就是0,棋盘上的就是密钥了,利用在线工具解出:

黄道十二官

 

%..@*>@?==%88%5
.@%#@@90-7$^=*@
17.(>()1@##-$40
~.*6?#%#8#=75+1
(*@*1%#>;0@5)%?
%*^=)&>=1%.+7&#
8681(+8*@@(.@@@
#*=#$3*#%.#%%.3
.*+7.7+@===+)61

第一部分,第一个字符H,随后再向下移动一格,在向左移动两个,得到第二个字符+,以此类推。

%%>%;.@3*.#(#0+
@#+.@)8@7@*7@@1
#5&8=.*9@=)#6#7
>0#7%%8$+@-#5?*
13@?7-+(^(*==$$
1*=+#==^4~@)8%=
%=0.*&*.+8*1*1>
@#)8@76%=@%6%..
?#1(%15@(#>%...

利用AZdecrypt进行解码,下载

得到flag: ALPHANANKE,改成小写即可

简单的rsa

解压出来得到.pyc文件,加密的文件,进行反编译,工具,得到加密脚本:

#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
# Version: Python 3.9

import gmpy2
from Crypto.Util.number import *
from binascii import a2b_hex, b2a_hex
flag = '******************'
p = 0xED7FCFABD3C81C78E212323329DC1EE2BEB6945AB29AB51B9E3A2F9D8B0A22101E467L
q = 0xAD85852F9964DA87880E48ADA5C4487480AA4023A4DE2C0321C170AD801C9L
e = 65537
n = p * q
c = pow(int(b2a_hex(flag), 16), e, n)
print(c)
c = 0x75AB3202DE3E103B03C680F2BEBBD1EA689C8BF260963FE347B3533B99FB391F0A358FFAE5160D6DCB9FCD75CD3E46B2FE3CFFE9FA2E9508702FD6E4CE43486631L

 普通的rsa加密过程,利用脚本解出flag:

import gmpy2
import base64
from Crypto.Util.number import *

p = int('0xED7FCFABD3C81C78E212323329DC1EE2BEB6945AB29AB51B9E3A2F9D8B0A22101E467',16)
q = int('0xAD85852F9964DA87880E48ADA5C4487480AA4023A4DE2C0321C170AD801C9',16)
e = 65537
c = int('0x75AB3202DE3E103B03C680F2BEBBD1EA689C8BF260963FE347B3533B99FB391F0A358FFAE5160D6DCB9FCD75CD3E46B2FE3CFFE9FA2E9508702FD6E4CE43486631',16)
n = p * q

d = gmpy2.invert(e,(p-1)*(q-1))
m = pow(c,d,n)

flag = long_to_bytes(m)
print(flag)
print(base64.b64decode(flag))

 

最后进行base64解码即可 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值