PHP包含临时文件
即使PHP后端不是处理文件上传的代码,在收到上传文件数据时同样会创建缓存文件,文件名可以在$_FILES变量中找到(通常为/tmp/php[六个随机字符]),通过phpinfo页 2020-09-04 18:54:48 Author: hosch3n.github.io(查看原文) 阅读量:64 收藏

即使PHP后端不是处理文件上传的代码,在收到上传文件数据时同样会创建缓存文件,文件名可以在$_FILES变量中找到(通常为/tmp/php[六个随机字符]),通过phpinfo页面可以读到$_FILES

一般的请求等获取到phpinfo中的文件名时已经结束了,此时可控的临时文件就已经被删掉了,但由于phpinfo中$_FILES[file][tmp_name]比其它HTTP头先输出,因此可以在HTTP头中发送大量无用数据,读到临时文件名后立即利用文件包含执行代码,通过条件竞争抢到临时文件被删除前时间窗口。


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