SXCCTF 2021
签到
flag{Happy_New_Year_2021}
Flag不在这
将附件 Word 文档拓展名改为 zip,解压后可见 flag.txt。
flag{It's_real_easy!D0_Y0u_Like_it?}
牛年大吉
在附件的属性中可见 flag。
flag{这个就是哦!}
网络深处
将附件解压后可以得到一段 DTMF,将其解码后可得到 15975384265
。将其作为压缩包密码解压电话录音。使用 Audition 打开后可见下图。
在第一步的文本中可以找到如下信息。
636806841748368750477720528895492611039728818913495104112781919263174040060359776171712496606031373211949881779178924464798852002228370294736546700438210687486178492208471812570216381077341015321904079977773352308159585335376746026882907466893864815887274158732965185737372992697108862362061582646638841733361046086053127284900532658885220569350253383469047741742686730128763680253048883638446528421760929131783980278391556912893405214464624884824555647881352300550360161429758833657243131238478311219915449171358359616665570429230738621272988581871
根据提示可以知道其使用的是 tupper 的算法,使用在线画图网站可以得到如下图片。
flag{Y29pbA==}
YLBNB
Wireshark 分析流量包,跟踪 TCP 流到 11 可发现一段 Python 脚本。
跟踪到 TCP 流 20 可以发现一个压缩文档。
跟踪到 TCP 流 17 可以发现一个 pyc 文件。
将以上发现的文件分离出来。将 pyc 文件反编译可得到如下代码。
#!/usr/bin/env python
# visit http://tool.lu/pyc/ for more information
key = 'YLBSB?YLBNB!'
解压分离出来的压缩包可得到 YLBSB.xor 文件。Python 脚本分离出来之后得到如下代码。
#coding:utf-8
import base64
from secret import key
file = open("YLBSB.docx", "rb")
enc = open("YLBSB.xor", "wb")
plain = base64.b64encode(file.read())
count = 0
for c in plain:
d = chr(c ^ ord(key[count % len(key)]))
enc.write(d.encode())
count = count + 1
可以发现脚本对文件进行了按位异或的的操作,简单地修改脚本得到解密脚本。
#coding:utf-8
import base64
key = 'YLBSB?YLBNB!'
file = open("YLBSB.xor", "rb")
dec = open("YLBSB.docx", "wb")
enc = file.read()
count = 0
for c in enc:
d = chr(c ^ ord(key[count % len(key)]))
dec.write(d.encode())
count = count + 1
file.close()
dec.close()
将所得的文件再 base64 解码一次可得一份 Word 文档。在参考文献中可以找到字体颜色为白色的 flag。
UNCTF{Best_YLB_Ever}
Love_it!
解压密码为:2021jia_you!! flag 为 flag{后台名称后台账号后台密码一句话木马名称一句话密码第三个马子执行的命令} 例如: 后台网址为: http://127.0.0.1/admin/index.php 后台名称就为: admin 账号为:2021 后台账号为: 2021 密码为:happy_new_year! 后台密码为: happy_new_year! 一句话木马路径为: http://127.0.0.1/mu.php 一句话木马名称为: mu 一句话木马 一句话密码为: starsnow 一句话执行的命令 连接马子 之后执行的第三条 命令 第一条 yingzi=phpinfo(); 第二条 yingzi=system('whoami'); 第三条 yingzi=system('ls'); 第三个马子执行的命令: system('ls');
例如: flag{admin_2021_happy_new_year!_starsnow_system('ls');}
根据题目给出的信息,使用 Wireshark 分析流量包。筛选 HTTP 条目,在如下三个地方可以搜集所有信息。
flag{dede_admin_starsnowniubi_ma_yingzi_echo `whoami`;}
Very very easy hex
压缩包需要写个脚本套娃解压。
import zipfile
import re
zipname = "img.zip"
while True:
ts1 = zipfile.ZipFile(zipname)
ts1.extractall("./")
zipname = "./"+ts1.namelist()[0]
解压 1.zip 可以得到一些图片。观察可以知道其中内容大量重复,找出两种不同文件包含的唯一字符分别为 @
和 :
。写出脚本分析内容,将其中一种记为 1 另一种记为 0。
for /l %%i in (0,1,167) ^
do (findstr ":" .\img\%%i.png > nul && (echo 1 >> result.txt)) || (findstr "@" .\img\%%i.png > nul && (echo 0 >> result.txt))
运行脚本并整理可得到如下信息。
011001100110110001100001011001110111101101000100001100000101111101111001001100000111010101011111011011000110100101101011011001010101111101101001011101000011111101111101
将其用 From Binary
转换编码后得到 flag。
flag{D0_y0u_like_it?}
拼图
手拼一下得到 flag。
flag{123A4X5b6cLi}