文件上传漏洞:
文件上传漏洞原理:在具有上传功能的网站上传恶意脚本文件,并找到文件所在目录位置,最后将恶意文件传递给php解释器执行。
文件上传绕过waf:白名单:MIME绕过、%00截断、0x00截断、0x0a截断
黑名单:大小写绕过、点绕过、空格绕过、双后缀名绕过
前端:JS类防护
抓包修改:改后缀,改content-type值
文件上传漏洞防御方式:白名单,采用随机改写文件名和文件路径,文件上传目录设置为不可执 行、限制上传文件大小、js前端过滤、将文件独立存储做静态处理
文件包含漏洞:
文件包含漏洞原理:由于开发者便于在开发时调用文件并且执行,某些网站目录下的文件可直接以脚本代码运行。
文件包含漏洞类型:1.本地包含(文件在本地服务器)
2.远程包含(当源代码中 php.inid的allow_url_fopen和allow_url_include为ON时可以包含第三方文件)
文件包含漏洞防御方式:关闭php.ini中allow_url_include开关、指定用户目录访问、过滤 ../ 等特殊字符。
文件包含漏洞绕过方法:\0或%00截断,多个字符突破文件格式判别。
文件下载漏洞:
文件下载漏洞原理:在某些网站目录下可直接下载文件,导致敏感信息文件泄露,源码文件泄露。
关键查找参数: readfile、fopen、file_get_contents
防御方式:过滤关键字符../ 、固定访问目录、白名单、单独文件权限设置。
绕过:大小写,字符编码(16改8)
文件读取漏洞:
原理:在网站参数中输入参数文件,显示文件中的源代码
防御方式:过滤关键字符../ 、固定访问目录、白名单、单独文件权限设置。
绕过:大小写,字符编码(16改8)