前置知识
session 的存储机制
php中的session中的内容并不是放在内存中的,而是以文件的方式来存储的,存储方式就是由配置项session.save_handler来进行确定的,默认是以文件的方式存储。
存储的文件是以sess_sessionid来进行命名的
php
: 默认使用方式,格式 键名|键值(经过序列化函数处理的值)php_serialize
: 格式 经过序列化函数处理的值php_binary
: 键名的长度对应的ASCII字符 + 键名 + 经过序列化函数处理的值-
利用session.upload_progress进行文件包含和反序列化渗透
直接看看freebuf写的这篇文章吧
利用session.upload_progress进行文件包含和反序列化渗透
wp部分
打开题目,代码审计后,发现无太多可利用点
根据ini_set(‘session.serialize_handler’, ‘php’)
这句话,推测和 php 对对象的序列化有相关漏洞
<?php
//A webshell is wait for you
ini_set('session.serialize_handler', 'php');
session_start();
class OowoO
{