前言
当时有事情就没打,现在补票
CRYPTO
ezcrypto
Dest0g3 520招新赛那场的原题,直接exp:
1 | from gmpy2 import invert |
flag:NSSCTF{378f571491e6559d41ffa02e7a76653e}
MISC
Signin
下载附件是一个docker文件,打开发现:
1 | from hggg/flag:v0 |
那就直接上dockerhub找hggg/flag,就可以发现flag了。
flag:NSSCTF{WDLJT_SUPER_MY_MAN}
Pixel_Signin
png图片,使用stegsolve看LSB,感觉是有些东西的。然后调整参数,RGB的0-7全部拉满,可以发现一段文本,其中有这么一串:
1 | AFFPGS{Unehxv_vf_AFF_FHCREZNA_fb_guvf_gnfx_vf_rnfl} |
看特征很像是凯撒,测试了下是rot13,解密得到flag:
1 | NSSCTF{Haruki_is_NSS_SUPERMAN_so_this_task_is_easy} |
Type Message
解压出来四个音频文件,名字结合一下就是DTMF,那就是电话声了,用dtmf2num来处理下:
1 | D.wav:627474238133 |
这里是九键键盘密码,比如62对应的就是N,74对应的就是S,以此类推,得到的结果是:
1 | NSSCTF DTMFIS REALLY EASY |
flag:NSSCTF{DTMFISREALLYEASY}
Knight’s Tour!
下载下来一个压缩包,然后还是损坏的,检查hex,发现文件头是rar的头,离谱,我们修复一下。修复之后用7z解压,得到一张图片:
看不懂,搜搜题目是啥意思,发现是一个骑士巡游问题,就是按照国际象棋中马走日的特征走遍全图。按照下面的顺序走,并且对应颜色,得到结果:
按照红0黄1的规律将每一行转化为二进制,再转化为字符,得到Ch1v@lry,这就是flag了。
WEB
1zweb
读取文件的过滤没做好,直接读取/flag
就拿下了。
ez_rce
进入网页什么都没有,看一下服务器是Apache/2.4.49,直接去找漏洞,找到CVE-2021-41773任意文件读取漏洞。
测试下payload:
1 | /cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/bin/sh |
返回成功,漏洞存在,那么接下来读取根目录,发现有一个flag_is_here,里面存在四层,是一个文件夹迷宫,直接上bp爆破在,最后在/flag_is_here/2/0/7/6/flag
中得到flag。
1zweb(revenge)
首先读取index.php:
1 | <?php |
file_get_contents读phar文件时能能触发返序列化漏洞,那这里就是一个phar反序列化,令ljt===”Misc”&&$this->dky===”Re”,同时绕__wakeup
:
1 | <?php |
更改字符串参数数量后重新签名:
1 | from hashlib import sha1 |
读取upload.php:
1 | <?php |
不能有phar,必须是图片后缀,zip打包使用phar伪协议绕过即可:
1 | file=phar://./upload/new.png/phar.phar |