2024 楚慧杯决赛 wp
楚慧杯决赛wp
团队比赛+复现wp
Break
Crypto
Crypto1
1 |
|
p-1光滑,很容易分解n,解rsa求得第一部分
第二部分分别在模p、q下使用ph算法加crt求解
1 |
|
1
b'DASCTF{5mo0th_Number_'b'1s_very_dang3r0us!!!}'
Web
Web1-Python-pickle反序列化
break
时候这题环境一直打不开,比完赛也打不开,等于没有- 还在努力做当中,目前
exp
还没有调通
Web2 - phar反序列化
file=show.php
读源码show.php
1 |
|
POP:class sing::__destruct() => class song::__toString() => class rap::__call() => class basketball::__get()
file=phar://uploads/test.jpg
1 |
|
.phar
重命名为.jpg
1 |
|
上面命令自己调整
Web3 - php反序列化
赛后请教了
My0n9s
师傅php-SER-libs-main反序列化靶场通关详细思路-CSDN博客 参考第四关
Array
特性敏感文件读源码
index.php.bak
链子很清晰
safe::__destruct() -> unsafe::__toString
EXP
1 |
|
But 至于这里为什么是
519651
呢,我当然是看不出来的,也是请教了My0n9s
师傅,1
$this->username = $this->username . "hack me!";
- 出题人大哥这是把
$this->username
和hack me!
拼接到一起了啊!!!
- 出题人大哥这是把
分析参数
**
action=\create_function
**:create_function
是PHP中的一个函数,用于动态创建一个匿名函数。- 反斜杠
\
为了绕过过滤
**
arg=return;}system('id');
**:这是传递给
create_function
的参数。create_function
的语法是:1
create_function(string $args, string $code)
其中:
$args
是函数的参数列表。$code
是函数体的代码。
在这里,
arg=return;}system('id');
被解释为:$args = "return;"
。$code = "}system('id');"
。
构造的恶意代码
将参数组合起来,create_function
的调用会生成以下代码:
1 |
|
生成的匿名函数类似于:
1 |
|
payload
1 |
|
Misc
break-getget_log
在日志中对加密内容解密,找到上传的flag.zip文件
base64解码
导出为zip文件,解压需要密码
同理可以在日志中找到压缩包密码
Fix
Web
AWDP
纯小白,第一次参加线下,根本不知道咋打,也不知道给我修的那个度是多大,源码不敢乱删乱注释,也不知道check
是咋个check
,纯是小白去学习了。
Web1
1 |
|
Web2
群里不少师傅说这题删
eval
可以过check
,但是我比赛第一轮这么干的没成功呢。我觉得要是去fix其他的话,倒是做过一题类似可能用得上的,但是比赛时候断网,本地没保存。
1 |
|
Web3
- 反序列化漏洞文件
index.php
如下
1 |
|
- 首先应该只改一个
md5
就行,毕竟你md5
源码值都改了,payload
肯定打不进来,咋样md5
都不一样 fix
代码如下
1 |
|
2024 楚慧杯决赛 wp
https://xu17.top/2025/01/04/楚慧杯决赛wp/