一.文件名验证
a.思路
-
文件名后缀固定
-
文件名过滤
b.绕过方式
- %00截断
- 目录长度
二、路径限制
a.思路
- 目录限制(规定目录)
include '/var/www/html'.$file
- 目录回退“/”、“.”的过滤
b.绕过
通过回退 …/…/…/绕过
可以尝试 “~” 来绕过
image.php?name=~/../phpinfo
~ 即是尝试是否可以直接跳转到当前硬盘。
三、中间件安全
a.思路
1. magic_quotes_gpc 【php<5.4】
对post、get、cookie转义
2.限制访问区域
open_basedir--------------------在php.ini中配置,将用户活动范围限制在指定位置
http.conf---------------apache配置
b.绕过
3.设置访问权限
对该中间件的用户限制权限
可以通过软连接绕过
四、总结
1.更新中间件和PHP版本
2.利用配置文件对用户访问目录进行限制
3.利用黑白名单过滤