SHCTF 2024
MISC
有WiFi干嘛不用呢?
从下载的log,netxml,csv等文件得知wifi加密方式为WPA-PSK,并且还有cap流量包和密码字典
aircrack-ng安装和基础使用教程
使用aircrack-ng工具爆破密码,作为flag提交即可
Rasterizing Traffic
直接搜索flag字符串得到的是错误flag
TCP流18拿到一张png图片,打开发现是光栅
https://blog.zgsec.cn/archives/504.html
借用脚本并做细微修改,将三维改二维
1 | from PIL import Image |
拜师之旅①
给PNG添加头尾,并修改宽高即可拿到flag
真真假假?遮遮掩掩!
第一个zip是伪加密,第二个在注释处有hint:SHCTF??????FTCHS
结合题目掩码爆破弱口令即可
Quarantine
windows defender隔离的文件存放在C:\ProgramData\Microsoft\Windows Defender\Quarantine
中
在网上找到一篇博客,了解到实质是对文件进行了一次RC4的加密,且使用固定密钥
What happens when Windows Defender Quarantines Stuff)
1 | # Copyright (C) 2015 KillerInstinct, Optiv, Inc. (brad.spengler@optiv.com) |
借用该脚本(python2)成功解密文件
实质出题就是把木马语句和密文拼在一起然后让windows defender识别为病毒后选择隔离得到的加密文件
解密后面的大串base64后得到加密压缩包.尝试爆破后通过字典rockyou爆出密码得到flag
WEB
MD5 Master
1 |
|
md5强碰撞,使用fastcoll生成一个前缀为MD5 master!,后续内容不同且md5值相同的两个文件fastcoll -p 0.txt -o 1.txt 2.txt
比较md5值并输出url编码结果(存在不可打印字符所以要先编码)
1 |
|
用BP发包即可得到flag
1zflask
前端都不做一个(
在/robots.txt拿到新路由,访问后得到app.py源码
1 | import os |
在/api路由处可以传参$SSHCTFF进行变量覆盖,程序会读取内容进行命令执行payload:url/api?SSHCTFF=tac /f*
单身十八年的手速
js游戏,在js代码源码处找到胜利时会alert的base64密文.解密得到flag
1 | if (times >= 0x208) { |
ez_gittt
dirsearch扫到一堆.git,判断为.git泄露
https://github.com/WangYihang/GitHackergithacker --url xxx/.git/ --output-folder result
然后进入文件夹内git log
查看修改日志git reset --hard "xxx"
回退版本
此时文件夹内就出现flag了
蛐蛐?蛐蛐!
点按钮跳转check.php,返回原来页面在前端源码注释处得到题目源码的路由
1 |
|
第一个弱等于绕过,第二个检查开头是否为ququk1
php弱等于特性:114514a==114514;a415411==0
第二个要求命令里带有ququk1,管道符或者分号绕过即可
payload:GET:url/check.php?ququ=114514a
POST:ququ=ququk1;phpinfo();
poppopop
1 |
|
类SH是定义静态变量的不用理会,当出发各自的函数就会使变量为True
函数调用顺序:destruct()->__toString()->classC的flag()->__invoke()
exp:
1 |
|
paylaod:?data=TzoxOiJUIjoxOntzOjE6Im4iO086MToiRiI6MTp7czoxOiJvIjtPOjE6IkMiOjE6e3M6MToicCI7Tzo1OiJTSENURiI6Mjp7czo1OiJpc3lvdSI7czo2OiJzeXN0ZW0iO3M6NDoiZmxhZyI7czo3OiJ0YWMgL2YqIjt9fX19
jvav
在名为demo.java的文件里运行java代码,写一个命令执行即可
1 | import java.io.BufferedReader; |
AI
小助手
常规欺骗,base64的话得到的不准确,加了个分段出了