本文由“东塔网络安全学院”总结归纳
靶场介绍:
文件上传之PHP解析漏洞
今天,给大家介绍一下“东塔攻防世界”其中的一个靶场:“文件上传之PHP解析漏洞”。
一、实验介绍
1.文件上传漏洞简介
在文件上传的功能处,若服务端脚本语言未对上传的文件进行严格验证和过滤,导致恶意用户上传恶意的脚本文件时,就有可能获取执行服务端命令的能力,这就是文件上传漏洞。
文件上传漏洞对Web应用来说是一种非常严重的漏洞。一般情况下,Web应用都会允许用户上传一些文件,如头像、附件等信息,如果Web应用没有对用户上传的文件进行有效的检查过滤,那么恶意用户就会上传一句话木马等Webshell,从而达到控制Web网站的目的
2.文件上传漏洞高危点
相册、头像上传;视频、照片分享;附件上传(论坛发帖、邮箱);文件管理器
3.文件上传校验方法
1)、客户端2)、服务端:
检查后缀(白黑名单绕过、特殊扩展名、大小写、0x00截断、.htaccess等);
检查内容(文件头、图片马等);其他
4.php解析漏洞:
解析漏洞是指服务器应用程序在解析某些精心构造的后缀文件时,会将其解析成网页脚本,从而导致网站的沦陷。大部分解析漏洞的产生都是由应用程序本身的漏洞导致的。
1.lIS6.0站上的目录路径检测解析绕过上传漏洞
默认遇到/就不解析后面的了IlS6.0目录路径检测解析,文件的名字为“*.asp/xxx.jpg”,也同样会被ⅡIS当作ASP文件来解析并执行首先我们请求laaa.asp/xxxx.jpg从头部查找查找“."号,获得.asp/xxxx.jpg查找"T,如果有则内存截断,所以/aaa.asp/xxxx.jpg会当做/aaa.asp进行解析
2.IlS6.0站上的解析缺陷绕过上传漏洞llS6.0目录路径检测解析,文件的名字为"*.php;xxx.jpg”,也同样会被ⅡIS当作PHP文件来解析并执行首先我们请求laaa.php;xxx.jpg从头部查找查找.号,获得.php;xxx.jpg查找;,如果有则内存截断,所以/aaa.php;xxx.jpg会当做/aaa.php进行解析3.Apache解析缺陷绕过上传漏洞可以用于服务器端扩展名检测黑名单绕过。原理当浏览器将文件提交到服务器端的时候,服务器端会根据设定的黑白名单对浏览器提交上来的文件扩展名进行检测,如果上传的文件扩展名不符合黑白名单的限制,则不予上传,否则上传成功。4.htaccess文件上传解析漏洞(重写解析规则绕过).htaccess是apache服务器中的一个配置文件,不是上传的文件的黑名单之内,所以.htaccess文件是可以上传成功。上传覆盖.htaccess文件,重写解析规则,将上传的带有脚本马的图片以脚本方式解析。编写.htaccess文件。打开记事本,将如下代码写入文本中:1lAddTypeapplication/x-