700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【文件上传漏洞05】服务端后缀名检测与绕过实验(基于upload-labs-3靶场)

【文件上传漏洞05】服务端后缀名检测与绕过实验(基于upload-labs-3靶场)

时间:2021-05-29 13:17:05

相关推荐

【文件上传漏洞05】服务端后缀名检测与绕过实验(基于upload-labs-3靶场)

目录

1 知识储备2 实验简介2.1 实验目的2.2 实验环境2.3 实验前准备 3 实验过程4 总结

1 知识储备

服务器端检测除了MIME检测、文件内容检测外,还有文件后缀名检测,检测策略包括白名单策略域黑名单策略。黑名单策略:对于黑名单策略限制的服务器,一般先将待上传的文件在大类中修改后缀名,测试是否能成功执行代码,如果可以,待上传后便可直接执行无需借助其他漏洞,常见的同类后缀名如下表所示:白名单策略:由于白名单策略只能允许上传名单内的后缀名,为了让文件能否成功上传,可能修改的后缀名将导致文件无法正常执行,常需要配合其他漏洞来执行所上传的文件。文件解析顺序:在Apache的解析顺序中,是从右到左开始解析文件后缀的,如果最右侧的扩展名不可识别,就继续往左判断,直到遇到可以解析的文件后缀为止,所以如果上传的文件名类似 1.php.xxxx ,因为后缀xxxx不可以解析,所以向左解析后缀php。利用该规则可以绕过黑名单检测。

2 实验简介

2.1 实验目的

掌握绕过MIME检测的方法,验证文件上传漏洞的存在。

2.2 实验环境

靶场:基于WAMP环境的upload-labs靶场,搭建过程可参考文章《基于WAMP环境的upload-labs漏洞测试平台搭建过程》。攻击机:安装BurpSuite软件。

2.3 实验前准备

准备好一个文件,该文件可能是木马,也可能是其他任意文件,本实验以php探针作为测试文件,来验证是否存在文件上传漏洞以及绕过漏洞检测的方法。文件名为:info.php,文件内容:<?php phpinfo();?>。尝试将后缀名修改为php类的其他后缀,然后尝试用浏览器访问看看能否正常打开,不同类型的后缀文件的可执行性测试结果如下表:

3 实验过程

测试顺序:前端JS→MIME类型→文件后缀。因为修改后缀名可能会导致文件无法成功执行。打开BurpSuite,在代理模块启动拦截功能,打开其自带浏览器。

浏览器访问靶机,并打开第三关。点击选择文件,选择准备好的info.php,点击上传,BurpSuite拦截到请求,说明前端JS没有检测,将该请求发送到Repeater模块调试参数。

在repeater模块中,点击send发送刚刚的请求,可以看到出现文件上传失败的提示,说明大小写无法绕过该检测。

在repeater模块中,修改刚刚的请求,将文件的后缀修改为php3并点击send,可以看到响应中出现上传成功后的文件地址。

在网页重新发送请求,并在代理模块中修改请求在点击forward,可以看到网页显示文件成功上传。

右键该图片并点击新标签打开,显示如下,虽然该文件成功绕过后缀名检测,但是服务器未能成功执行该文件,估计是根据服务器设置支持的文件后缀名有关。

4 总结

理清绕过测试的顺序,先看JS能否绕过、MIME能否绕过再测试后缀名绕过。掌握后缀名绕过的方法。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。