misc
听说你在找flag?
参考:
1.http://www.werewolfcjj.top/2021/10/24/2021%e6%b5%99%e6%b1%9f%e7%9c%81%e8%b5%9b%e5%8f%8a%e8%b5%9b%e5%90%8e%e5%a4%8d%e7%8e%b0/
Foremost或者010搜50 4b 03 04分出最上面一个zip
预期的解应该是根据压缩包的提示找
1 | The most specific one and its delay, repeat twice |
apng的delay知识
然后在找到他的帧块数,从0数到10。就是1080,在重复两次就是10801080
爆破zip文件包。爆破应该就是非预期的解了
10801080
找到压缩包里最大的图片
往后看,有base64
扔CyberChef里。保存成png图片
其他块无问题。尝试修改高度
图片里的base64抄下来,继续扔进去解密。
拿着上一步的密码去解rar的文件
qrimg
脚本的原理就是打开每张图片,在来取出blue通道的最低图片,用黑白填充。最后在pyzbar解码
1 | from PIL import Image |
reverse
crackPYC
这边主要的参考文章:
1.
https://bbs.pediy.com/thread-246683.htm
2.
https://docs.python.org/2.7/library/dis.html
3.
https://docs.python.org/zh-cn/3/library/dis.html
把python的字节码翻译成python语言。
这块翻译的是文件下半部分针对key的处理
这一块就是针对key和data出最后flag的操作
把文件翻译成字节码。方便自己查看。
python2 -m dis exp.py
1 | 先把变量和数组翻译出来,一对一对的翻译。 |
1 | for i in range(len(data)) |
最后的脚本就如下了,抄自0rays-wp
1 | def initkey(): |
还有一种应该是把文件分成了两个来解读,先算出了key
1 | num = 0 |
再把key带回计算得到flag
1 | key = [40, 80, 121, 161, 202, 242, 27, 67] |
crypto
Easy Railfence
直接爆破offset和key的
改自0rays的脚本,前面都是一样的,就是给了m,然后循环x和y。根据生成后的字符串来控制了两个括号位置的约束。跑出的后面应该也是括号位置相同?
1 | import hashlib |
web
checkin
直接抓包,看response,头部有flag