Post on: 2024-7-16Last edited: 2025-1-11Words 00 min

type
status
date
slug
summary
tags
category
icon
password

Misc

Signin

twinhex编码解码,得到base64编码,从格式看出是图片转了base64,于是用在线Base64转图片 (lddgo.net)恢复图片,是个二维码,扫描得到要发送WKCTF2024到公众号获取flag。

不套是你的谎言

附件就一个txt文件,如果做过python逆向的话可以看出这个是pyc的magic头。每一个magic头对应相应的python小版本。因为没有别的信息,因此考虑先把每个hex转成python小版本试试看。关于py版本和magic的关系网上可以找到,reverse过程的脚本如下:
如果取每个python小版本的数字那刚好就是0-9,因此考虑这是十进制。连起来转int再转bytes可以看出是zip文件。这个zip是伪加密,因此改一下两处标志位可以正常解压。
打开得到的信息是flask-session,需要去解密,并且提示了密钥为弱口令。github上可以找到工具flask-session-cookie-manager,因为要爆破,所以搞个shell脚本:
爆破得到:
12312312
{'algorithm': 'des', 'flag': 'UnAmPVY4at+vnBjzYO7+TdFR2fDbxRs+jC7l1kvohT0ZxrPC8BTMbA=='}
显然在线网站解des即可,密钥就是12312312

小z的社交网络

1.题目给了一张被加密的ppm图片,但由于是aes的ecb模式加密,可以用ElectronicColoringBook by doegox来恢复大致的轮廓,因为是粗画笔画的,所以通过轮廓肯定可以得到id信息。用以下命令:
python ElectronicColoringBook.py .\id.ppm --blocksize=3 -p 3 -o 10
2.得到完整id后去小红书、微博等社交平台搜索,在微博找到一个账号比较可疑。该账号没有发微博,但在其关注找到个头像为ctf的可疑的账号L。在该账号L的微博里找到了该人的博客(base64解密),去访问发现了一个加了密码的博文。
3.继续在微博里找,可以看到有微博说明了密码是女朋友生日,再在下一条可以看到他女朋友的小红书图片水印,根据水印找到其账号,然后在个人简介找到一个base58编码,解密发现是qq,访问qq可以看到生日20000917,那么就可以解开博客了。博客是个提示,提示要去找github账号。
4.根据博客的域名等信息去git搜索ZimaBlue可以找到其账号,有个库叫做WKCTF,在里面只有readme,但是在commit里可以看到之前删除的文件,找到flag.swp,通过在linux下 vim -r FLAG可恢复文件。

Crypto

fl@g

题目内容很简单,对下面的字符表做全排列:
然后将num置为0,对于每个排列对应的字符串,如果其中含有下面几个字符串的任意一个,num就加1:
取最终的num值得的nextprime作为素数p,和另一个300bit的随机素数q组成模数n进行RSA加密,要求还原flag。
注意到题目甚至给了tqdm,直接运行一下看看:
好像并不是很能接受哈哈哈,所以是要想办法用其它的办法计算出来。
这其实是一个经典的容斥定理的运用,首先可以看出来,🚩这个完全是放出来整活的,不会对num的值产生任何影响。所以关键就在于前四个字符串对应的事件。不妨记以下四个集合:
而由题目,我们要计算的值就是:
由容斥原理,这个值就等于:
所以分别计算每个集合的大小就可以得到num,之后取nextprime分解掉n,最后解RSA就好了。
exp:

easy_random

类似于bytectf2022的某题,建议用https://github.com/JuliaPoo/MT19937-Symbolic-Execution-and-Solver这个板子。

Meet me in the summer

首先是背包格求N,Pollards_p_1分解N。然后因为p-1光滑,所以通过dlp把乘法背包映射加法背包。q是不光滑的,但是只有未知的50比特,那么通过题目名也可以猜测,利用中间相遇的思路减小一半时间复杂度可以打。

Faas

来自于https://thesavageteddy.github.io/posts/cursedctf-2024/,大概背景是有个密码大师叫joseph,他的朋友们觉得他太强了所有密码题都会做,于是出了这么个整活的题,企图让他花100美刀去租亚马逊集群来分解512比特的rsa,主要目的是为了好玩。本来想类似于他们整活取名为fuck tangcuxiaojikuai或者fuck dbt的,想着太不正经了所以没有,结果被师傅们吐槽了hhh,也怪我没有写清楚。原项目在这里:https://github.com/eniac/faas

花絮

这次比赛还有好几道密码题没上,包括了lem0的easyhash、我的两道题,还有糖醋小鸡块的三道题。主要考虑比赛时间较短所以没搬上来,下次有缘再会qwq~

Ai

how_to_encrypt

 

DES的弱密钥/半弱密钥和不动点密钥

🗒️DES的弱密钥/半弱密钥和不动点密钥

了解一下des分组密钥的弱密钥。


研一年度总结

🗒️研一年度总结

读研快一年的学习生活总结。