2021 S4CTF
Contents
Baby-XoR

附件给了两个文件分别是
baby_xor.py
| |
flag.enc
| |
一开始使用爆破,可以看到有短flag
| |

后面看了wp,发现别人都是用rb模式读取文件的
所以对脚本进行修改
| |
这时候flag就对了

Baby-IQ

附件同样有两个
baby-iq.py
| |
enc.txt
| |
这题说来也惭愧,没注意到坑
用任意明文去试了下题目给的脚本,发现实际是一个位置变化的脚本,只是将明文中的字符进行位置变换。所以可以对比变换前后的差别,进行逆变换即可
假设明文是1234567890qwertyuiopasdfghjklzxcvbn
pad后的结果是f1234567890qwertyuiopasdfghjklzxcvbn
变换后的结果是f123450zugwnqreayo6dt7lif9hjks8cxbpv
所以求变换矩阵,并将flag还原
| |

去掉第一个字符。提交后,发现不对。懵逼
后面看了题解然后发现答案和我的就差一个字符f,原来是因为str.find()永远返回第一个字符的索引,导致了中间的字符索引丢了
修改脚本,粗暴的将首字符去掉了
| |

ninidibi

附件是一个文件,用文本打开如下

有点像sqlite3的文件,但是确实了文件头,修复文件头后如下

用工具打开数据库,可以看到两张表

其中flag表是字符,order代表对于该字符的索引,但是order表的第一个记录是null

需要找到缺少的索引,所以脚本如下
| |

Author Zhe
LastMod 2021-04-25