文件上传

Web通用型漏洞——文件

折月煮酒 提交于 2019-11-26 05:39:36
文件上传 0X00 概述 文件上传漏洞是用户上传了一个可执行的脚本文件,并通过该脚本文件获得服务端可执行命令的能力。该文件上传功能本身没有问题,有问题的是上传成功后,服务端如何处理、如何执行解析该脚本文件。如果服务端的处理逻辑不够安全,就会导致上传的文件被web容器解析执行,从而造成严重的后果。   文件上传可以上传图片,上传相册、上传附件、添加新闻图片、添加背景图片等等   文件漏洞分类:     代码层:开发者对安全意识的不足,或者是在对文件上传的校验不严谨造成的     应用层:Web容器漏洞、配置不当等等 0X01 常见的文件上传绕过漏洞 1.前端绕过 客户端JS验证:上传文件时提示只允许上传.jpg/.png/.jpeg后缀名的文件。 绕过方法:1.通过修改脚本文件,添加上传文件的文本类型后缀名      2.删除JS验证脚本的调用,让其不能对上传文件进行校验      3.修改上传文件的类型后缀名进行绕过,例如:webshell.php改为webshell.jpg,当点击上传时,burp抓包进行修改,以便服务器能够正常解析 2.服务端绕过 服务端的MIME验证:MIME是描述消息内容类型的因特网标准,即Content-type内容 绕过方法:修改Content-type内容,例如:上传Content—type:text/php --> Content--type

php 文件上传错误

懵懂的女人 提交于 2019-11-25 19:30:02
假设文件上传字段的名称img,则: $_FILES['img']['error']有以下几种类型 1、UPLOAD_ERR_OK 其值为 0,没有错误发生,文件上传成功。 2、UPLOAD_ERR_INI_SIZE 其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize选项限制的值。 3、UPLOAD_ERR_FORM_SIZE 其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 4、UPLOAD_ERR_PARTIAL 其值为 3,文件只有部分被上传。 5、UPLOAD_ERR_NO_FILE 其值为 4,没有文件被上传。 6、UPLOAD_ERR_NO_TMP_DIR 其值为 6,找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。 7、UPLOAD_ERR_CANT_WRITE 其值为 7,文件写入失败。PHP 5.1.0 引进。 来源: https://www.cnblogs.com/fpcing/p/11929519.html