phpinfo应注意什么
1.allow_url_fopen和allow_url_include
这个配置选项可以知道在PHP文件包含中可以使用哪些伪协议
2.PHP版本
3.open_basedir
这个配置选项可以知道PHP将访问目录限制在哪个目录下
4.disable_functions
可以在命令执行的时候,看那些函数被禁了
5.session
session.save_path:session的上传目录
在linux系统中,session文件一般保存在以下几个目录:
/var/lib/php/
/var/lib/php/sessions/
/tmp/
/tmp/sessions/
session.upload_progress.name:上传进度
查看官方文档可以发现,如果在POST请求中设置同名变量,他的值会被记录到session中,它的值可控,
那么我们文件包含时,只需包含session文件就可以达到文件包含的漏洞
session.name:会话名称,它的值存在cookie中,可控,作为sess_PHPSESSID被包含
session.upload_progress.cleanup:当文件上传结束后,PHP将会立即清空对应session文件中的内容
session.upload_progress.enabled:表示upload_progress功能开始,也意味着当浏览器向服务器上传一个文件时,php将会把此次文件上传的详细信息(如上传时间、上传进度等)存储在session当中
session.upload_progress.prefix:PHP初始化session时,会产生一个键值,格式为配置文件中session.upload_progress.prefix的值+我们传入的PHP_SESSION_UPLOAD_PROGRESS的值,该值会被写入session文件,按照如上所写,这个sess_PHPSESSID文件中值应为upload_progress_+PHP_SESSION_UPLOAD_PROGRESS
6.flag
甚至有些题目不严谨,flag可以直接在phpinfo中搜到