前言
哈哈哈,终于记起账号密码了! 更个博客玩玩哩!
Misc
misc1
base62一把梭了
misc2
用010打开图片,发现尾部藏了两个压缩包,一个是flag.zip
,另外是一个The Old Farmer.zip
,直接binwalk分一下
第二个压缩包还是伪加密,里面放了6个txt,内容做了base64编码
一顿瞎解密再拼接,得到一篇英文文章的部分内容,尝试将其作为密码解压flag.zip
,不对。
做着做着突然发现,这6个txt的文件创建时间被修改过
一眼顶针,大概率是转成时间戳然后取后三位或者两位数字再转成字符
搓了个脚本转一下
得到
42B:^@
感觉很ez啊,立马拿去解密压缩包,吖!!!!密码错误?????
想了个小时没想明白为什么不对,后来发现是Python的取整问题,它自己会将float类型的值进行四舍五入,导致有几个时间戳会比正确的时间戳少一
或者多一
为了避免误差,直接手工用厨子一个个转了
最后得到解压密码
43C;_@
flag.txt
:
--xr--rw-
--xr-xr--
--xr----x
--xr--rwx
--xrwx-wx
--xrw--w-
--xrw-rwx
--xrwx---
---rw---x
--xrw--wx
--xr-x--x
--xr-xrw-
--xrw-r--
---rw--wx
--xrw--w-
--xr--r-x
--xrw--wx
--xrw-r--
--xr-xr--
--xr-xrw-
--xr--rwx
--xrwxr-x
瞄了一眼,是多组Linux下的文件权限值,这些数字分别对应文件所有者(user)、所属组(group)和其他人(others)的读(r=4)、写(w=2)和执行(x=1)权限。
1,2,4一看就是8进制相关,将各组里面rwx对应的数字累加,得到
146 154 141 147 173 162 167 170 061 163 151 156 164 063 162 145 163 164 154 156 147 175
8进制再转成字符得到flag
flag:
flag{
rwx1sint3restlng}
Crypto
babyrsa
题目:
from Crypto.Util.number import *
from secret import m
# flag:flag{m}
p = getPrime(1024)
q = getPrime(1024)
N = p * q
phin = (p - 1) * (q - 1)
e = 0x10001
print p - q
print (pow(p, q, N) + pow(q, p, N)) % N
print pow(m, e, N)
#20770635068836854804018903805008274067606000732091812088238375893754679640326321257910151064059716965482617819160659713254090859126046141458972905487013741518783669630953762873993452695113483606585058842333278760035501674856078879985170771134359059700014915486712258779746177202951233148271263631410890377232
#251977009