知识点:
1、文件上传-前端验证
2、文件上传-黑白名单
3、文件上传-user.ini妙用
4、文件上传-php语言特性
详细点:
1、检测层面:前端,后端等
2、检测内容:文件头,完整型,二次渲染等
3、检测后缀:黑名单,白名单,MIME检测等
4、绕过技巧:多后缀解析,截断,中间件特性,条件竞争等
本章课程内容:
1、文件上传-CTF赛题知识点
2、文件上传-中间件解析&编辑器安全
3、文件上传-实例CMS文件上传安全分析
前置:
后门代码需要用特定格式后缀解析,不能以图片后缀解析脚本后门代码(解析漏洞除外),
如:jpg图片里面有php后门代码,不能被触发,所以连接不上后门
演示案例:
CTFSHOW-文件上传-151到161关卡
google hackbar安装
1、
修改后缀png为php,即可上传后缀为php的文件。
<?php eval($_POST[x]);?>
2、
修改后缀jpg为png后也不能上传(MIME校验)
后端代码验证的content-type,通过抓包修改php的content-type为jpg的img/png
3、
phP大写,不能被执行,只能下载
user.ini
只限制了php文件,没有限制.ini文件
需要在index.php中调用到.user.ini,使.user.ini生效。
4、
内容过滤
6、
7、
8、
9、
10、
11、验证文件头,如png、GIF89a