【INSHack2019】Crunchy
知识点:Pisano周期问题(斐波拉契数列)
公式:$u_{n+2} = b∗u_{n+1} + c∗u_n$
定义:
题目分析
根据题目我们可以知道返回值:return 6 * crunchy(n - 1) + crunchy(n - 2)
计算斐波拉契数列,其中系数为 6,模为 100000007
通过 sagemath 可以快速计算递归结果:
|
|
flag{41322239}
【羊城杯 2020】signin
知识点:toy Cipher
题目分析
题目
BCEHACEIBDEIBDEHBDEHADEIACEGACFIBDFHACEGBCEHBCFIBDEGBDEGADFGBDEHBDEGBDFHBCEGACFIBCFGADEIADEIADFH
根据 Toy Cipher的加密规则,将密文每四个一组,对照加密表解密。
根据题目提示,将加密表逆序,再次对照解密
|
|
GWHT{TOYSAYGREENTEAISCOOL}
【羊城杯 2020】TCP_IP
知识点:TCP/IP隐写、tshark抓包
Wireshark—— Identification
ip.id
在网络链路中,一个数据包的发送经常会经过多个节点,那么在不同节点抓到报文后,如何确定目前查看的这个报文是否是从源端发过来,问题复现的那段报文; 或者数据流量比较大,同时刻的报文数量很多,已经无法根据时间来确认具体的报文是哪一条时,又需要确定具体的报文情况时,就需要用到这个字段:Identification。(该字段可以理解成报文的唯一标识符,用来标记报文的唯一性,尤其是在该报文经过了各种NAT转发后,该值是不会发生改变的。) 在wireshark中,该字段被书定义为ip.id
tshark抓包
参数:
-r 设置tshark分析的输入文件
-T 设置解码结果输出的格式 -e 指定打印参数
如:
-T fields -e http.host -e http.request.uri :打印http.host和http.request.uri
题目分析
kali tshark抓包提取TCP流量中的Identification数据
ip.id
|
|
修改后的text:
|
|
16进制解码,去除重复的部分得到:
|
|
base91解码
|
|
【CFI-CTF 2018】Kadyrov's Cat
知识点:EXIF信息、PDF查看作者
EXIF中存储着坐标信息
PDF用WPS工具打开,查看文件属性有 作者信息
题目分析
缺失的题目描述: A man from the soviet union has sent you two strange documents. Find the identity of the man as well as his location. Flag format is : CFI{Firstname_Lastname_of_City}
打开图片得到坐标信息
用Google地球输入坐标得到:
城市信息得到:Riga
用WPS查看PDF的作者:
Kotik Kadyrov
flag{Kotik_Kadyrov_of_Riga}
【GKCTF 2021】0.03
知识点:NTFS 文件隐写、VeraCrypt磁盘挂载
题目分析
1.先用NTFS 扫描文件目录下的隐藏文件
2.手机键盘密码解密,得到:
311:3行1列 UBMMASJJMU
311:3列1行 EBCCAFDDCE
3.磁盘挂载
挂载密码 EBCCAFDDCE
挂载成功拿到 flag
flag{85ec0e23-ebbe-4fa7-9c8c-e8b743d0d85c}
【NPUCTF2020】HappyCheckInVerification
知识点:
题目分析
用 kali 中的 binwalk -e 解压文件,得到一张残缺的二维码,手动修复一下。去掉窗口阴影
扫描得到:
|
|
解与佛论禅
解 base16
做不会了....
【GWCTF2019】math
知识点:pwntools交互、recvuntil()函数
CTF常用 pwntools参数
|
|
题目分析
IDA分析获取核心源码
|
|
由源码可知,需要进行150次 math计算,才能继续下一关
从这里可以看出,计算的格式是固定的
|
|
exp:
|
|
cat flag.txt flag{dc2217bc-6a9d-45f5-8403-24fbabd0c087}
【羊城杯 2020】逃离东南亚
知识点:CRC修复图片,Silenteye(wav音频隐写)、Beyond Compare 4文件对比分析
题目分析
三份日记文件。解压第一份,其余两份加密了的
第一份打开,给了一份 img.png 图片,用 010editor 打开,有CRC报错,说明图片的宽高不对
CRC恢复图片宽高.py
|
|
得到:
wdnmd,成功解压第二份日记文件
wav文件,很容易想到silenteye隐写,直接把音频拖进silenteye,得到第三个压缩包密码
This1sThe3rdZIPpwd,成功解压第三份日记
根据日记的提示,应该是在代码中进行了文字的隐写
Ga1@xy大佬的博客 中直接找到了 Github 上的源码,这信息搜索能力tql
把源码下载下来,直接Beyond Compare 4一把梭,对比文件夹,调整规则,可以直接看到三个被修改的文件
继续分析文本,在每个
}
后面都跟了8个tab
键 和空格。将其都转换为 二进制数据
把 elf 文件下的 rtld.c、malloc文件夹下的malloc.c 、arena.c 三个文件都放在同一文件夹下。脚本提取数据
|
|
脚本后面再补吧,网上随便找了个
flag{code_steganography_1s_funny!}