今天下午不想写作业,就来复盘一下TSCTF-J2025吧~
不知道为什么图片路径可能会炸掉,在最后面写了一个简易的修复代码,不能保证一定有用
如果图炸了的话请手动拼接URL,为
image-编号.png
Misc
Meow
Word文档的本质是一个ZIP压缩包,所以可以在里面藏东西,把扩展名改为.zip后解压,可以在[Content_Types].xml文件里看到一行注释

提示了base64的字母表,所以不需要一眼丁真
做题时因为没有看见异常文件就忽略了这个方向
PyJail
感觉自己的第一种解法应该可以做到拿os啊,为什么会触发import钩子呢?
然后按照WP的方法试了一下,结果发现:是全角字符的问题

同样是使用__import__,但是使用Unicode绕过的版本会触发import,而正常半角字符的不会!
经过实验,发现,是python处理unicode的时候需要先导入unicodedata这个库来支持将形近字转化,这就是最开始用Unicode绕过行不通的原因

再来就是后面用os的底层实现来完成指令执行了,可以用execlp/execvp来执行,不过还要处理一下fork和pipe
下面是从WP里面复制的
1 | import os |
AI
JustReverse
对着WP的代码,看了半天,简直一模一样,回去对比了一下输出,发现第一个卷积就错了,仔细一看,不禁破口大骂: 我是** ,艹,一开始想试一下这个算法对不对,还没有写line这个变量就打算先试试,结果左下角的值算的是写死的0,后来加上了line变量之后忘改了,因为写的太长还没有发现!#@%!#@#@

把那个0改成line[-1],然后就解出答案了……


给出更正后的代码
1 | import numpy as np |
注:不过还是学到了东西的,WP里面用的是pinv方法直接求广义逆,但我们高代还没有学到广义逆,我也不知道有这么一个函数,就手动搓了一个 $(W^TW)^{-1}(W^TY)$
$$
(W^TW)^{-1}(W^TY)\\
=(W^TW)^{-1}(W^T(WX))\\
=(W^TW)^{-1}(W^TW)X\\
=X
$$
Web
Druid
看到WP之后我是不能理解当时在干什么的……
admin/admin登录之后在数据源里面就有用户名

Reverse
Catbits
那么这道题剩下的那个Toko在哪里呢?答案是:舞台也是可以存放代码的!
这是在面试的时候学长讲的,WP里面也有,所以只要在角色的右边选舞台就可以看到了

差不多就写到这吧,马上要上英语课了
后面有机会的话可能还会写写Reverse里面solves>=2的题,以及Pwn的一些题目
