NSSCTF Round#4

1zweb

直接读/flag.php

ez_rce

CVE-2021-41773 CVE-2021-42013

直接找网上的poc然后爆flag

1zweb(revenge)

就是生成phar,改属性个数来绕过wakeup,用脚本重新生成签名

import gzip
from hashlib import sha1
f = open('phar.phar', 'rb').read() # 修改内容后的phar文件
s = f[:-28] # 获取要签名的数据
h = f[-8:] # 获取签名类型以及GBMB标识
newf = s+sha1(s).digest()+h # 数据 + 签名 + 类型 + GBMB
open('pha.phar', 'wb').write(newf) # 写入新文件

然后压缩上传,再用phar伪协议打

但是访问后只能显示文本内容,估计是Mac的压缩问题?留坑

记一篇好文


告别纷扰,去寻找生活的宝藏。