[GUET-CTF2019]虚假的压缩包 image-20210723211338559
一真一假,亦真亦假,都解开就知道了
虚假压缩包伪加密,打开
image-20210723211601096
呆滞,rsa
rsa算法 RSA算法的具体描述如下:
https://blog.csdn.net/dbs1215/article/details/48953589
公钥
(E,N)
私钥
(D,N)
密钥对
(E,D,N)
加密
密文=明文EmodN密文=明文EmodN
解密
明文=密文DmodN
求N
N= p * q ;p,q为质数
求L
L=lcm(p-1,q-1) ;L为p-1、q-1的最小公倍数
求E
1 < E < L,gcd(E,L)=1;E,L最大公约数为1(E和L互质)
求D
1 < D < L,E*D mod L = 1
1 2 3 4 5 6 7 8 9 10 11 12 import gmpy2 p = 3 q = 11 e = 3 c = 26 n = 33 s = (p- 1 ) * (q - 1 ) d = gmpy2.invert(e,s) m = pow(c,d,n) print(pow(c, d, n))
这题算出来是5,感觉真实压缩包密码应该就是5了,结果。。。。竟然不对,
压缩包密码是答案是5 (这就是脑袋题吗
image-20210723234154830
目测修改图片高
image-20210723235419873
异或5?
再看一下亦真亦假,十六进制
image-20210723235746824
但是不知道是什么,总不会异或整份文件吧
1 2 3 4 5 6 7 8 9 10 f1 = open('1' ,'r' ) xor_data = f1.read() f1.close() dec_data = "" for i in xor_data: tmp = int(i,16 ) ^ 5 dec_data += hex(tmp)[2 :] f2 = open('./data.doc' ,'wb' ) f2.write(dec_data.decode('hex' )) f2.close()
image-20210724001105669
开护眼模式的好处(手动滑稽)
[SUCTF 2019]Game 一张图,一个源码
image-20210724132616632
很遗憾,这个base32转出来的flag是假的
问题应该是在图里
看了题解才知道
image-20210724134046594
我真去找了,
这个代码真的有可读性吗。。。。。。。。。。。(眼睛已瞎
image-20210724132253801
藏得也太深了吧
图里lsb隐写
image-20210724134437432
你看这个像不像base64(压根解不出来
根据U2FsdGVkX1我们知道是DES加密,因为DES加密之后开头都是这几位,不过解密需要秘钥。
秘钥啊,那猜一下假的flag好了,再不行猜个比赛名称什么的
image-20210724140927183
我在官方wp里看了些什么。。。
image-20210724151059663
image-20210724141147088
绝了,注意,这里是3des也就是tripeDES
[ACTF新生赛2020]明文攻击 图片隐藏着明文flag的zip,记得修一下文件头,然后image-20210724153613679
我也想知道他会不会真的攻击一个小时
[MRCTF2020]不眠之夜 看了一下,把图片拼起来
image-20210724153832749
1 2 montage *jpg -tile 10 x12 -geometry 200 x100 +0 +0 flag.jpg gaps --image=flag.jpg --generations=40 --population=120 --size=100
因为是在kali上安装,我这里montage自带了,所以就放个https://github.com/nemanja-m/gaps的链接
按照步骤来就行
Option
Deion
–image
指向拼图的路径
–size
拼图块的像素尺寸
–generations
遗传算法的代的数量
–population
个体数量
–verbose
每一代训练结束后展示最佳结果
–save
将拼图还原为图像
可以来看看这个https://cloud.tencent.com/developer/article/1120042
[MRCTF2020]Hello_ misc image-20210724160600568
红色通道有图片
image-20210724160641776
压缩包密码,压缩包也在红色的图里
解压缩
image-20210724161018947
感觉是rgb色块,但是36个色块,也不可能是图片了(虽然但是,我还是去画了
image-20210724162838504
解密压缩包,得到:一个只包含127 255 63 191的TXT文件,正经解法应该是转换成二进制然后取前两位重组。
1 2 3 4 5 6 7 8 9 10 11 12 13 with open('out.txt' ) as a_file: content = [x.strip() for x in a_file.readlines()] bins = []for i in content: bins.append(bin(int(i))[2 :].zfill(8 )[:2 ]) stringBins = '' .join(bins) num = 0 flag = '' for i in range(int(len(stringBins)/8 )): flag+=chr(int(stringBins[num:num+8 ],2 )) num+=8 print(flag)
得到rar-passwd:0ac1fe6b77be5dbe
image-20210724171551913
image-20210724171816937
吐了,这题目
这离谱的玩法
[SWPU2019]Network 上一题类似的操作,不过总算知道这到底是是什么操作了
TTL隐写https://www.cnblogs.com/yunqian2017/p/14671031.html
TTL隐写 1 2 3 4 IP报文在路由间穿梭的时候每经过一个路由,TTL就会减1 ,当TTL为0 的时候,该报文就会被丢弃。 TTL所占的位数是8 位,也就是0 -255 的范围,但是在大多数情况下通常只需要经过很小的跳数就能完成报文的转发, 远远比上限255 小得多,所以我们可以用TTL值的前两位来进行传输隐藏数据。 如:须传送H字符,只需把H字符换成二进制,每两位为一组,每次填充到TTL字段的开头两位并把剩下的6 位设置为1 (xx111111),这样发4 个IP报文即可传送1 个字节。
因为写出来是一个压缩包的hex码,so上一题的脚本其实改一改就行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import binasciiwith open('attachment.txt' ) as a_file: content = [x.strip() for x in a_file.readlines()] bins = []for i in content: bins.append(bin(int(i))[2 :].zfill(8 )[:2 ]) stringBins = '' .join(bins) num = 0 flag = '' for i in range(int(len(stringBins)/8 )): flag+=chr(int(stringBins[num:num+8 ],2 )) num+=8 print(flag) flag = binascii.unhexlify(flag) wp = open('ans.zip' ,'wb' ) wp.write(flag) wp.close()
关于binascii.unhexllify()可以看看这篇文章https://200ok.ch/posts/2018-12-09_unhexlify.html
伪加密,然后flag.txt是个base64套娃,来个脚本
1 2 3 4 5 6 7 8 9 import base64 f=open("flag.txt" ,"r" ) a=f.read() res=base64.b64decode(a)while (1 ): res=base64.b64decode(res) print(res)
补png文件头,flag在图上
[BSidesSF2019]zippy 题目说的这么明白了,反手就把流量包里的压缩包分离出了,尝试弱密码未果,确定是真加密,在流量包找到密码,over
image-20210724221204671
解完就行
[MRCTF2020]Unravel!! image-20210724223643837
先看文件尾,image-20210724224008868
目测des或aes,JM.png图片分离可以得到秘钥,用来解win-win.zip然后
image-20210724224136176
silent,好久没用了,有亿点点没想到
[UTCTF2020]basic-forensics jpeg后缀,010打开发现是文本,直接搜flag,结束
[WUSTCTF2020]spaceclub image-20210724225503193
真看不出来
image-20210724225542091
你看它短短长长的样子像不像莫斯,试了前面,发现分割是个问题
短的换成0,长的换成1
image-20210724232824574