[HarekazeCTF2019]Easy Notes

/ 0评 / 0

在github有源码,所以访问

登陆成功后,可以进行增删查和导出为 zip 或 tar 的功能,点击 Get flag 提示不是 admin,
审计源码查看admin功能

所以要伪造admin
有个导出功能,它会将添加的 note 导出为 zip,这个文件存放的位置在 TEMP<em>DIR ,和 session 信息保存在同一个位置,考虑伪造 session

构造 user 为 sess</em> ,type 为 . ,经过处理之后,$path 就是 TEMP_DIR/sess<em>xxxxxxxxxx 这就伪造了一个 session 文件

php 默认的 session 反序列化方式是 php ,其存储方式为 键名+竖线+经过serialize函数序列处理的值 ,这就可以伪造 admin 了
所以我们用 sess 登陆 ,文章标题写

|N;admin|b:1;

然后访问export.php?type=.
拿到sess_文件。更改PHPSESSID
拿到flag

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注