ISCTF 2023 WriteUp
ISCTF WriteUp
其他比赛做不出来题,闲着没事也来ISCTF看看题,就当锻炼锻炼了,运气好拿到了社会榜第8,虽然有些题目挺简单的,把web做出来还剩最后4道没想法的题没做,就跑去misc拼脑洞了,感觉有点费时间了
就写一下自己做出来的web和misc还有一道crypto吧
Web
圣杯战争!!!
一道入门反序列化
1 |
|
payload:
1 |
|
用php://filter/
协议读文件就行了
1 |
|
where_is_the_flag
1 |
|
蚁剑直接连,翻文件
根目录下的start.sh已经说了flag的位置
绕进你的心里
1 |
|
数组绕过加回溯绕过preg_match
的/s
模式,跟shctf很像
1 |
|
easy_website
1 |
|
保存到1.txt ,
写一下sqlmap的tamper,简单替换被过滤的字符
1 |
|
1 |
|
注意最后爆字段的时候,那个“password”字段需要改成passwoorrd来绕过
wafr
1 |
|
用paste来读文件就好了
ez_ini
.user.in
日志包含
1 |
|
UA头写马,然后命令执行
1 |
|
1 |
|
webinclude
目录扫描扫到一个index.bak
1 |
|
拿脚本爆破出参数
1 |
|
跑出来是mihoyo
然后就是打include了
1 |
|
fuzz!
唉,这真是第三次做这个题了,第一次在ctftime的一个比赛,第二次是自己学校的萌新赛,第三次就是这次
1 |
|
curl
支持统配
1 |
|
1 |
|
1z_Ssql
给了两个表
1 |
|
1 |
|
访问/robots.txt有提示
1 |
|
这里面有个就是被ban的字符,不过被加密的,f12查看js文件
1 |
|
这应该就是用来解密的
1 |
|
ban了挺多东西的,但ban掉了for导致无法注入出表名等内容
这里使用盲注,结合它给的表,找出正确的表名和字段
1 |
|
1 |
|
爆出登录的账号密码,然后登录就有flag
恐怖G7人
给我一种是xxs的感觉,但其实是最简单的ssti,没有任何过滤
直接出flag
值得记一下的是,这种cookie是python pickle生成的cookie,当然在这题没用
1 |
|
Misc
签到题
关注公众号,回复关键词:小蓝鲨,我想打ctf
你说爱我?尊嘟假嘟
改后缀为.zip
,解压,得到doc文件
你说爱我->Ook.
尊嘟->Ook!
假嘟->Ook?
小蓝鲨的秘密
有意思的伪加密,formost和binwalk都不能直接提取
将0900改成0000
解压得到一个png图片,和txt文件:
1 |
|
png 执行crc爆破出正确的宽高
得到密匙:15CTF2023
再去aes解密AES加密-AES解密-在线AES加密解密工具
杰伦可是流量明星
给了个mp3文件,010查看,发现、
改为rar后缀,解压
有个流量包
真有意思,要是formost直接分解之前那个mp3,会有一张图片,和一个登录框的html文件
tcp流中找到flag
easy_zip
ARCHPR爆破得到解压密码
解压,打开里面的txt就是flag
蓝鲨的福利
png头需要补齐字节89 50 4E 47 0D 0A 1A 0A
保存,然后改后缀为png
Ez_misc
解压,有一个被加密的zip和一个key.ppt
ppt打开可以看到给的一些密码
1 |
|
然而真正的密码在角落
解压得到一个无法正常解析的jpg
缺了文件头FFD8FFE0
,补上
可以看出是二维码
spalshes
一个zip,一个txt:
1 |
|
base64解密:
1 |
|
然后三维坐标绘图
1 |
|
拿去解压zip得到flag
PNG的基本食用
给了三张图片
第一张crc爆破
第二张,lsb隐写
第三张,zsteg一把梭,formost分离文件也可以分离出rar文件再解压,也可以
小猫
fomost分离出来另一张图片
后面发现真的没啥软用
最初那个照片可以看见左上角有些数据
发现有个jpg头,保存下来并去掉前面多余的部分,得到
然后就是对照前面的坐标,转化成这些社会核心价值观
再社会主义核心价值观解密就行了
MCSOG-猫猫
零宽隐写
直接将其粘贴进linux终端是这样的
1 |
|
stream
先看http流,发现是sql盲注流量
选择每个盲注位置最后的那个值,然后ascii转字符就好了
当时自己是手搓的,没得脚本
一心不可二用
给了个apk包,导入模拟器发现是有些,反编译也没看出什么,后来发现题目跟和半毛钱关系都没有。。。
直接将apk解包
在Daddy_Was_A_Thief\res\drawable路径下有个flag.zip
解压需要密码
还附带了个python报错信息,一直没搞懂这是什么
然后思路一直是apk的其他位置或者反编译或者游戏中有解压密码
浪费了好长时间都没有
最后发现密码就是
太抽象了吧
小蓝鲨的问卷
填问卷,得flag
张万森,下雪了
给了个字典和加密的zip
用它给的字典爆破出压缩包密码blueSHARK666
flag.txt,但不是真的flag
1 |
|
tip.txt
一堆字符,先base一下(套了17层base64)
1 |
|
解不开了,看看字频分析
可能是空白格或者snow隐写
发现是snow隐写,密匙是ISCTFZ023
1 |
|
得到flag
sudopy
提权题,打Python库劫持提权,详细可以看:Linux权限提升:Python库劫持
1 |
|
1 |
|
1 |
|
再ls
,当前目录下就flag web.py
flag文件毫无疑问是没有可读权限的
1 |
|
web.py内容
1 |
|
可以通过劫持webbrowser来反弹shell到vps,得到root权限
在/usr/lib/python3.10/
找到webbrowser.py
1 |
|
毫无疑问,考点就是这个python库劫持
1 |
|
写入
1 |
|
vps执行
1 |
|
执行web.py
1 |
|
vps成功得到root的shell
DISK
算是类似NTFS取证吧,一些参考:通过NTFS日志分析文件的时间属性是否被篡改
解压下来是DISK.vhd文件
win+R
,输入diskmgmt.msc
,打开磁盘管理,操作->附件Vhd
查看磁盘内文件
那些文件名字符串反转后base64拼起来是假flag
x-way打开,导出恢复$Extend\$UsnJrnl\$J
和$LogFile
用NTFS Log Tracker
将日志文件解析并生成一个数据库
发现对文件进行过改名
将未改名前的文件名提取出来
1 |
|
10进制转16进制 然后16转字符
得到最终flag
Crypto
EasyAES
1 |
|
测试一下填充
1 |
|
1 |
|
已知15位可以和hint异或泄露出key的前15位
1 |
|
得到前15位密匙NISANISANISANIS
enc
的值转为hex为
1 |
|
再爆破最后一位密匙
1 |
|
正确的密匙为NISANISANISANISA
以及部分flag
1 |
|
在拿正确的16为密匙异或出flag前面的部分
所以最后flag是
1 |
|