PHP包含Session文件
PHP的session.save_path配置指定了session文件的结构深度、文件权限、存放路径,格式为N;MODE;/path。N表示子文件夹划分深度,MODE表示文件的u 2020-09-04 15:35:12 Author: hosch3n.github.io(查看原文) 阅读量:82 收藏

PHP的session.save_path配置指定了session文件的结构深度、文件权限、存放路径,格式为N;MODE;/pathN表示子文件夹划分深度,MODE表示文件的umask值(默认为600),path通常为/var/lib/php/sessions/tmp

PHP在大文件流式上传时,为了将上传进度存放在session中,如果不存在session则会自动初始化,直到文件上传结束后销毁(由session.upload_progress.cleanup指定)。当session.upload_progress.enabled为默认值1时,上传文件的同时传递name="PHP_SESSION_UPLOAD_PROGRESS"即可利用(由session.upload_progress.name指定)

session.name通常为PHPSESSID,用作Cookie的键名。当session.use_strict_mode为默认值0时,客户端可以自定义sessionID,即通过Cookie传递PHPSESSID=hosch3n后,服务器将创建对应的sess_hosch3n文件。

因此就可以在利用文件上传自动初始化session的同时自定义sessionID,并利用条件竞争在文件上传完成前通过文件包含实现代码执行。


文章来源: https://hosch3n.github.io/2020/09/04/PHP%E5%8C%85%E5%90%ABSession%E6%96%87%E4%BB%B6/
如有侵权请联系:admin#unsafe.sh