利用PHP_SESSION_UPLOAD_PROGRESS进行文件包含
正好遇到一个题,也记录下这个东西

我们可以利用session.upload_progress将木马写入session文件,然后包含这个session文件。不过前提是我们需要船家女一个session文件,并且知道session文件的存放位置。
session里有一个默认选项,session.use_strict_mode默认值为off。

此时用户是可以自己定义Session ID的。比如,我们在Cookie里设置PHPSESSID=flag,PHP将会在服务器上创建一个文件:/tmp/sess_flag。即使此时用户没有初始化Session,PHP也会自动初始化Session,并产生一个键值.
注:在Linux系统中,session文件一般的默认存储位置为 /tmp 或 /var/lib/php/session
但是session.upload_progress.cleanup默认是开启的

框着的这句话意思就是说在默认情况下,session.upload_progress.cleanup是开启的,一旦读取了所有POST数据,它就会清除进度信息
这里我们可以利用条件竞争来进行文件上传
下面讲个例题来实践一下:
其实这个只需要一个文件就可以了,需要进行条件竞争

构造上传的payload
1 | <html> |
抓取数据包1

抓取数据包2

最终出现phpinfo

成功获取到一个shell
这里是禁用了命令执行函数的
成功找到flag

成功解出flag









