2021-Radhat
Misc
签到
题目名:EBCDIC。EBCDIC编码打开即可看到flag
colorful code
题目名colorful code,文件data2里面总共0x300字节的数据,仔细查看发现除了前六十字节,后面的字节全是每三个字节一组
很明显,data2应该是像素值,而且可能只有前20组有用;
data1里面全是数字,统计一下发现只有0-19,很明显,就是对应data2前20组像素值,脚本转一下:
1 | from PIL import Image |
得到一张图片,图片的样子加上题目名可以想到是 npiet 语言,用 npiet 解一下图片就可以了
PicPic
第一关
这里第一关看出题人给的脚本可以知道,出题人把原视频切割成帧图像之后,对每帧画面进行了傅里叶变换的处理,然后分别保存幅度图和相位图,其中幅度图的最大最小值都写在文件 r 里。
这里做题的时候暂时没想明白一点是:根据出题人的脚本可知,原视频切割了多少帧,for循环就执行多少次,相应的r文件中的数据也就被写入多少次,计算可知r文件被写入80次,也就是源png应该是80个,这里因为合并的时候出题人设置每秒25帧,所以合并后的视频是200帧,这种情况下,忽略了这一点反而也能解出正确图像是没想到的,暂时不理解为什么可以解出。这不逻辑
总之写出脚本对出题人输出的mkv进行反向操作可以得到源视频切割后的图像,能够在图像中看到下一关的压缩密码
1 | import os |
第二关
给了一个hint,里面是mathML语言,直接html解析一下得到一个数学表达式,结合傅里叶变换可知是提示图像相位互换。脚本:
得到原二维码,扫码得到一串不明十六进制,猜测密文,先去下一关
1 | import os |
第三关
一张看上去满是噪点的图片,结合本题前两关可知,这应该是频谱图,考虑到幅度图还原不了原图,所以应该是相位图还原原图。脚本:
1 | import os |
Web
find_it
robots.txt 提示1ndexx.php
.1ndexx.php.swp拿到源码 ?code=<?=phpinfo();?>
hack.php中搜索flag,找到flag
framework
www.zip 下载源码,本地搭环境查看版本是yii 2.0.38
审计发现actionAbout存在反序列化,网上搜索找到链子
1 |
|
本地用system一直失败所以尝试用assert 写shell
写入shell之后蚁剑连接,发现根目录存在readflag,Disable_functions禁用了系统函数,用蚁剑的绕过插件apache_mod_cgi模板一键绕过执行readflag
WebsiteManger
主页加载图片 image.php发现注入点
注入Exp
1 | import requests |
注出账号密码admin/db83298098fb07d4ee64c 登陆后发现host参数支持file协议可以读取本地文件,读取file:///flag 拿到flag
Crypto
Primegame
原题改的
1 | import math |
1 | import math |
Hpcurve
原题改的
1 | p = 10000000000000001119 |
Pwn
parser
1 | #!/usr/bin/env python |