[HarekazeCTF2019]Easy Notes

在github有源码,所以访问

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

审计源码查看admin功能

所以要伪造admin

有个导出功能,它会将添加的 note 导出为 zip,这个文件存放的位置在 TEMP_DIR ,和 session 信息保存在同一个位置,考虑伪造 session

构造 user 为 sess_ ,type 为 . ,经过处理之后,$path 就是 TEMP_DIR/sess_xxxxxxxxxx 这就伪造了一个 session 文件

php 默认的 session 反序列化方式是 php ,其存储方式为 键名+竖线+经过serialize函数序列处理的值 ,这就可以伪造 admin 了

所以我们用 sess_ 登陆 ,文章标题写

|N;admin|b:1;

然后访问export.php?type=.

拿到sess_文件。更改PHPSESSID

拿到flag

发表评论

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