所在的位置: php >> php优势 >> 硬核文件上传uploadlabs

硬核文件上传uploadlabs

北京什么医院看白癜风比较好 https://m.39.net/pf/a_4620144.html
客户端验证(前端)Pass-01JS校验

漏洞描述:

利用前端JS对上传文件后缀进行校验,后端没进行检测

利用方法:

浏览器禁用js

burp抓包先上传白名单文件,再用burp修改上传文件后缀

服务端验证(后端)Pass-02文件类型校验(MIME校验)

漏洞描述:

只检测content-type字段导致的漏洞。(后端利用PHP的全局数组$_FILES()获取上传文件信息)

利用方法:

修改content-type字段的值为图片格式。

常用content-type字段:

image/jpeg:jpg图片格式

image/png:png图片格式

image/gif:gif图片格式

text/plain:纯文本格式

text/xml:XML格式

text/html:HTML格式

Pass-03文件名后缀校验(黑名单绕过)

漏洞描述:使用黑名单的方式限制文件上传类型,后端利用$_FILES()和strrchr()获取文件名后缀。被限制文件类型:.asp.aspx.php.jsp

利用方法:

因为是利用黑名单来限制文件上传类型,找漏网之鱼绕过

例如:

特殊文件名绕过:.php3.php4.php5.phtml.phtm.phps.phpt.php

Pass-04文件名后缀校验(配置文件解析控制)

漏洞描述:

依然是使用黑名单限制,但几乎过滤了所有有问题的后缀名,但可以允许上传.htaccess文件。

htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以实现:网页重定向、自定义错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能

利用方法:

上传.htaccess解析文件,利用其配置,将白名单文件的类型解析成php文件类型。

上传.htaccess文件内容如下:(将服务器上的test.jpg文件解析成php文件,这里文件可以自由配置)

FilesMatch"test.jpg"SetHandlerapplication/x-


转载请注明:http://www.aierlanlan.com/grrz/7006.html