LitCTF 2024
WEB
exx
无过滤 xml 注入
1 |
|
SAS - Serializing Authentication
入门级反序列化
1 |
|
直接赋值账号密码即可通过检查,题目会对其 base64 解码,所以传入 base64 加密后的代码
exp:
1 |
|
一个…池子?
尝试输入49回显了 49,证明存在 ssti 注入
{{''.__class__.__base__.subclasses__()}}可以查询所有子类结果,这里用脚本爆破想要的函数
1 | #post请求 |
无过滤,直接拿 flag 即可
Payload:
{{''.__class__.__bases__[0].__subclasses__()[137].__init__.__globals__['popen']('tac /flag').read()}}
浏览器也能套娃?
ssrf,伪协议读取 flag
file:///flag
高亮主题(划掉)背景查看器
1 |
|
无过滤文件包含,路径穿越直接读取
payload:
post:theme=../../../../../../flag
百万美元的诱惑
1 |
|
abc 都可以采用数组绕过,payload:?a[]=1&b[]=2&c[]=3
拿到并访问 dollar.php,发现需要绕过过滤构造出 12
1 |
|
在 linux 的终端中,输入$(())可以构造出0,再进行取反$((~$(())))就可以构造出-1,其原理是对其二进制取反,00000000->0 取反则变成 11111111->-1
我们再将两个-1 合在一起并取反则是 ~(-2)->1
即$((~$(($((~$(())))$((~$(())))))))
由此我们可以构造出任意的数字,这里的 12 可以是对-13 取反为 12,
也可以是-2 取反和-3 取反之后合并为 12,这里我使用后者
预期 payload:
1 | ?x=$((~$(($(($((~$(())))$((~$(())))))))))$((~$(($((~$(())))$(($((~$(())))$((~$(()))))))))) |
题目描述已经把预期 payload 字符全给了,其他姿势就请自行搜索了 0.0
姬宝的好东西->https://github.com/ProbiusOfficial/bashFuck
MISC
涐贪恋和伱、甾―⑺dé 毎兮毎秒
lsb 隐写最低位
你说的对,但__
拿到附件 binwalk 分离出多张图片
拼好扫描得到 flag
The love
拿到一个图片和一个音频文件
图片 binwalk 分离出压缩包,文件名处得到 hint:Litctf???ftclit
6 位纯数字密码爆破,带上头尾即可
解压压缩包拿到假 flag 和一个 base64 加密的 password
deepsound 解密得到真 flag
舔到最后应有尽有
base64 隐写,羊驼梭
女装照流量
tcp.stream eq 28 拿到 flag.php 的加密压缩包
随后在 tcp.stream eq 26 处找到密码
最后两行删掉"参数名,&,="后 base64 解密
解压后得到 flag
Every Where We Go
flag 直接放在了频谱图里,使用 Adobe 的 AU 或者 audacity 等查看频谱图即可
盯帧珍珠
古有盯裆猫咪,今有盯帧珍珠
题目名及描述提示表明是 gif 图片并且要注意观察每一帧
也可以通过文件大小,文件头,file 命令等知道是 GIF 图片
先改后缀名为 GIF,后发现动画中有几帧的 flag 片段
使用 stegsolve,在线网站或脚本等逐帧提取对应 flag 片段图片,拼好 flag 即可
原铁,启动!
题目描述:这都是什么通用文字呢?
题目名称得到信息: 原神崩铁
题目描述得到信息:通用字体
搜索引擎开搜即可
https://draugus.github.io/genshin/language
提瓦特通用字体
https://starrail.huijiwiki.com/wiki/%E6%96%87%E5%AD%97%E5%AF%B9%E7%85%A7%E8%A1%A8
崩铁宇宙通用文
关键,太关键了
题目描述:好像某些字符出现的频率很高哦
题目名称得到信息: 关键字加密
题目描述得到信息:字频统计
对 key.txt 的大量字符串进行字频统计得到 key:bingo
关键字解密 flag.txt 即可得到 flag